Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Unser Server kann nicht mehr als 20 Anfragen/Sekunde verarbeiten

Ihr Beitrag enthält nicht genügend Informationen, um zu erklären, warum Ihr Programm nicht die erwartete Leistung erbringt, aber ich denke, dass allein diese Frage eine Antwort wert ist:

In Ihrem ersten Test haben Sie eine einzige Anfrage gestellt (-n 1 ). In Ihrem zweiten Test haben Sie gleichzeitig 100 Anfragen im Flug ausgeführt (-c 100 -n 100 ).

Sie erwähnen, dass Ihr Programm mit einer externen Datenbank kommuniziert, Ihr Programm muss warten, bis diese Ressource antwortet. Verstehen Sie, wie sich Ihre Datenbank verhält, wenn Sie ihr gleichzeitig 1.000 Anfragen senden? Sie haben dies mit keinem Wort erwähnt. Go kann sicherlich viele hundert gleichzeitige Anfragen pro Sekunde verarbeiten, ohne ins Schwitzen zu geraten, aber es hängt davon ab, was Sie tun und wie Sie es tun. Wenn Ihr Programm Anfragen nicht so schnell erledigen kann, wie sie hereinkommen, häufen sie sich an, was zu einer hohen Latenz führt.

Keiner dieser Tests, von denen Sie uns erzählt haben, ist nützlich, um zu verstehen, wie Ihr Server unter "normalen" Umständen funktioniert - was Sie sagten, wären "Tausende von Anfragen pro Tag" (was nicht sehr spezifisch ist, aber ich nehme an, "ein paar Sekunden")). Dann wäre es viel interessanter, sich -c 4 -n 1000 anzusehen , oder etwas, das den Server über einen längeren Zeitraum mit einer Anzahl gleichzeitiger Anfragen auslastet, was eher dem entspricht, was Sie erwarten.