I have this type of setup. It works perfectly for me. Only difference is I write to a MySQL database.
You say you have a dedicated server (Mine has 2x Xeon Processors running at 3.2gHz with 16gb Ram - Server Windows 2016) that runs only your Broker and a Client to parse and save the incoming data. Well, depending on the amount of data you send per message, you are going to have a hard time trying to strain a server that has any type of substance about it.
On my server I run CKVS, MySQL, Mosquitto Server and a Client for the MQTT messages and I have tried to throw the book at it and see what happens and so far I have only managed to get to a 6% load.
The reason I used MQTT is that using HTTP and a Web Service is that there is a "layer" between the client and the server, where as with MQTT it is straight to the broker.
What are you sending in the MQTT Messages ?