Also ich habe diese Website mit Symfony3
und Doctrine
entwickelt. Ich habe ein Hauptproblem hinsichtlich der Leistung mit MySQL und insbesondere der Anzahl der gleichzeitigen offenen Verbindungen.Öffnet Symfony3/Doctrine pro Besucher eine MySQL-Verbindung?
Zur Zeit sind ein bis fünf Benutzer online auf der Website. Was passiert, wenn, sagen wir, 1,500
Benutzer innerhalb von einer Minute verbinden? Behandelt Symfony3 oder Doctrine diese Art von Situationen? Wie kann ich sicher sein, dass die Website nicht mit dem Too many connections
MySQL Fehler untergeht?
Und wenn ich gehe zu 5,000
? Und 10,000
? Der Server verfügt überRAM und einen 2.40Ghz
Mono-Core-Prozessor, aber ich würde mir keine Sorgen um die Hardware machen, da ich mir mehr Sorgen um MySQL mache.
Diese Situationen sind bereits in der Vergangenheit passiert, aber ich habe die Website mit Wordpress und W3 Total Cache Plugin ausgeführt. Sollte ich überlegen, einen Cache-Manager wie memcached
oder sonst?
Kurz gesagt, ich bin besorgt über die Website nicht verfügbar im Falle von plötzlichen hohen Verkehr (und dachte an die MysQL Too many connections
Fehler in der ersten, aber ich könnte etwas noch wichtiger fehlt).
Vielen Dank, dass Sie mich auf dieser Seite ausgeleuchtet haben, da ich mir über Leistungsprobleme mit Symfony nicht im Klaren bin.
Nach Ihren Empfehlungen habe ich auf PHP7.0 aktualisiert und OpCache verwendet. Glaubst du, das wird genug sein? – D4V1D
@ D4V1D - Ich kann das nicht für dich beantworten. Sie kennen die Anforderungen Ihrer Website am besten, sodass Sie sie mit einem geeigneten Lasttest-Tool testen müssen. Wenn es die Anforderungen nicht erfüllt, ist mehr Optimierung erforderlich. – Richard
In der Tat, ich habe gerade ein paar Tests mit [HTTPerf] (https://github.com/httperf/httperf) ausgeführt. Ich habe 5.000 HTTP Anfragen simuliert, hier sind die Ergebnisse: 'Verbindungsrate: 8.9 conn/s (112.0 ms/conn, <= 1 gleichzeitige Verbindungen)'/'Verbindungszeit [ms]: min 96.4 durchschnittlich 112.0 max 324.7 median 111.5 stddev 6.8 '/' Antwortstatus: 1xx = 0 2xx = 5000 3xx = 0 4xx = 0 5xx = 0'. Die Tests dauerten "560.190 s". Ich denke, das sind gute Neuigkeiten. – D4V1D