[PYTHON] Bemühungen zur Leistungsverbesserung

Letztes Mal habe ich über die Tests geschrieben, die mein Team durchführt. Dieses Mal möchte ich über die Punkte schreiben, bei denen ich bei der Implementierung vorsichtig bin, sowie über das neue Relikt und die Heuschrecke, die zur Leistungsverbesserung verwendet werden.

Dinge, die bei der Implementierung zu beachten sind

Das Wichtigste, auf das Sie achten müssen, ist "Wenn Sie eine Schleife auswählen oder erstellen, setzen Sie sie aus der Schleife heraus". Das Abrufen mit Select-In, Bulk-Create allein verbessert die Reaktion erheblich. Der Algorithmus schafft dies nach dem Entfernen.

Werkzeuge vorstellen

Egal wie vorsichtig du bist, du bist ein Mensch. Es gibt Fälle, in denen es so bleibt, wie es ist. Wenn Sie die Verarbeitungszeit mit New Relic überprüfen, sehen Sie die Situation, in der dieselbe select-Anweisung mehrmals ausgegeben wird. Wenn es gefunden wird, werden wir es prüfen und korrigieren, so dass es nur einmal durchgeführt werden kann.

New Relic ##

Gibt es eine langsame Verarbeitung?

スクリーンショット 2015-11-02 14.34.57.png

warum ~?

スクリーンショット 2015-11-02 14.54.57.png

Suchen Sie zunächst nach einem Ort, der auf diese Weise repariert werden kann, und versuchen Sie, ihn zu verbessern.

Locust ## http://locust.io Locust ist ein Lasttestwerkzeug. Verwenden Sie nach Verbesserungen mit New Relic locust, um die API-Antwort zu laden und zu überprüfen. Wenn Sie dies tun, wird die Antwort langsam sein, während Sie auf die Freigabe der Sperre warten, oder das Ergebnis lautet "* Dead Lock ist aufgetreten! *". Also "Lassen Sie uns den Sperrbereich einschränken" oder "Die Sperrreihenfolge war falsch!" Es wurde festgestellt, dass es uns half, weitere Verbesserungen vorzunehmen. Es war nicht oft so, dass es immer noch langsam war, aber in diesem Fall wäre es besser, die Logik zu überprüfen.

Why Locust? ### **Ich weiß es nicht! ** ** ** Ich war nicht verantwortlich! Wenn ich diesen Artikel schreibe, habe ich das Gefühl, dass ich versuche, diesen Artikel in Eile weiterzugeben.

Im Vergleich zu JMeter, mit dem ich gespielt habe, als ich gerade einen Lasttest durchführen wollte, war es jedoch leichter zu verstehen. Der Grund ist, dass der Auslastungstest in Python-Code geschrieben ist. Ich dachte, ich könnte es selbst schreiben. Ich habe keine Erfahrung mit der Implementierung des Lasttestcodes, daher werde ich ihn später studieren und veröffentlichen, aber ich werde die Anzahl der Zugriffe für schwere und leichte Benutzer festlegen, das Verhältnis der Treffer auf die API festlegen und die Last anwenden. Ich verstehe (nun, ich denke JMeter kann das auch).

Also möchte ich das nächste Mal über Locust sprechen.

Recommended Posts

Bemühungen zur Leistungsverbesserung
Detaillierte Erklärung Überwachung und Leistungsverbesserung mit NewRelic-Part 2
Actix-Web-Leistung
Detaillierte Erklärung Überwachung und Leistungsverbesserung mit NewRelic-Teil 1
Verbesserung der Leistungsmetrik durch 2-Stufen-Lernmodell