Thousands of people took to the streets of the German city of Stuttgart to condemn racism and violence against refugees, as the country becomes more conflicted on how to handle its massive influx of asylum-seekers.

Saturday's demonstration was organised by churches, labour unions, and other groups. Police estimated about 7,000 people turned out for the protest, the news agency DPA reported.

Germany registered nearly 1.1 million refugees and migrants last year, and the country saw regular attacks on migrants' housing.

The rally comes amid calls by a prominent ally of German Chancellor Angela Merkel to reduce the number of new arrivals.

Bavarian state premier Horst Seehofer said he would send the federal government a written request within the next two weeks to restore "orderly conditions" at the country's borders.

"If it doesn't follow, the state government will have no other choice but to file a suit at the federal constitutional court," Seehofer told Der Spiegel magazine on Saturday.

READ MORE: Cologne attacks may be coordinated, says German minister

Petrol tax

Meanwhile, Germany's Finance Minister Wolfgang Schaeuble on Saturday raised the prospect of introducing a tax on petrol in Europe to pay for solving the refugee crisis, in remarks to the Suddeutsche Zeitung newspaper.

"If national budgets or the EU budget are insufficient, let's agree to set up, for instance, a tax of a certain amount on each litre of petrol," Schaeuble said.

"This way we would have the means for a European response to the refugee issue," he said, in an apparent reference to beefing up security at the European Union's outer borders in order to stop the refugee inflow.

"Finding a solution to the problem must not fail because of a lack of means."

His petrol tax proposal, however, was met with swift criticism even from within the ranks of his CDU conservative party.

The party's vice president Julia Kloeckner, who claimed to have talked with Merkel, said such an idea was indefensible because it tells taxpayers that it is up to them "to pay the bill" for refugees.