Es ist besser, wenige größere Pakete zu übertragen als extrem viele kleine.
Ich stand mal bei dem gleichen Problem:
http://www.delphipraxis.net/180134-i...ptimieren.html
Also wenn Du einige Daten puffern und dann übertragen kannst würde das sicher helfen.
Indy arbeitet nur blockierend. Client fragt und Server antwortet.
Wenn der Server alle Clients versorgen soll müssen die Clients ständig nachfragen (polling / long polling).
Ich habe jetzt mal Versuche mit asynchroner Kommunikation unternommen und finde das sehr empfehlenswert.
http://www.delphipraxis.net/190482-s...ockettest.html
Mit Hilfe des Frameworks ist die Kommunikation sehr übersichtlich.
Man versendet einfach Nachrichten (Interfaces), die auf der Gegenseite automatisch wiederhergestellt werden und dann nur noch in die Logik übernommen werden müssen.
Es gibt noch alternative Lösungen für die Kommunikation zwischen mehreren Partnern. Dazu kann ich aber nichts genaueres sagen.