Es kommt auch sehr häufig vor, dass die Serverlast zu groß ist und die Effizienz des Programms beeinträchtigt. Dies müssen wir testen. Hier nehme ich den am häufigsten verwendeten Apache-Server als Beispiel.
Der Apache-Server wird mit einem Tool namens AB (ApacheBench) geliefert, das sich im bin-Verzeichnis befindet. Mit diesem leichten Tool können wir unseren Server einem Lasttest unterziehen, um zu sehen, wie er unter hoher Last funktioniert. ApacheBench kann kontinuierliche Online-Anfragen für eine bestimmte URL simulieren und auch mehrere identische Online-Anfragen gleichzeitig simulieren. Daher kann die Verwendung von ApacheBench uns dabei helfen, die tatsächliche Online-Situation während der Website-Entwicklung zu simulieren und die simulierten Daten zu verwenden eine Grundlage für die Anpassung von Servereinstellungen oder -verfahren.
Ausgabe auf der Kommandozeile:
./ab -n number_of_total_requests
-c Anzahl_gleichzeitiger_Anfragen
http://your_web_server/your_php_app.php
Zum Beispiel:
./ab -n 1000 -c 50 http://www.domain.com/myapp.php
AB sendet auch an http://www.domain.com/myapp .php 50 gleichzeitige Anfragen ausgeben, insgesamt 1000 Mal.
Die Testergebnisse werden voraussichtlich so aussehen:
Serversoftware: Apache/2.0.16
Server-Hostname: localhost
Server-Port: 80
Dokumentpfad: /myapp.php
Dokumentlänge: 1311 Byte
Parallelitätsgrad: 50
Testzeit: 8,794 Sekunden
Vollständige Anfragen: 1000
Fehlgeschlagene Anfragen: 0
Insgesamt übertragen: 1754000 Bytes
Übertragenes HTML: 1311000 Bytes
Anfragen pro Sekunde: 113,71
Übertragungsrate: 199,45 kb/s empfangen
Verbindungszeiten (ms)
minavgmax
Verbinden: 0 0 5
Bearbeitung: 111 427 550
Gesamt: 111.427.555
Die Anzahl der Anfragen, die myapp.php pro Sekunde verarbeiten kann, beträgt 113,71. Erhöhen Sie die Anzahl der Anfragen und prüfen Sie, ob der Server dem größeren Druck standhält. Sie müssen außerdem Apaches MaxClients, ThreadsPerChild, MaxThreadsPerChild und andere Parameter anpassen, basierend auf der MPM-Modulauswahl in Ihrer httpd.conf.
Wenn Sie detailliertere Informationen wünschen, besuchen Sie www.apache.org. Hier finden Sie eine ausführliche Dokumentation, einschließlich Modulen und Produktivitätstools von Drittanbietern. Nachdem Sie httpd.conf geändert haben, starten Sie den Apache-Server neu und verwenden Sie dann AB zum Testen. Sie werden feststellen, dass die Anzahl der Anfragen pro Sekunde zunimmt oder abnimmt.
Notieren Sie sich jedes Mal die Parameter und wählen Sie schließlich die Konfiguration mit der besten Effizienz aus.
Es sollte darauf hingewiesen werden, dass es neben AB noch viele hervorragende Software zum Testen der Serverleistung gibt. Wenn Ihr Server nicht Apache ist, finden Sie außerdem Ihre eigene Testmethode.