Lassen Sie mich vorab sagen, dass ich kein Systemadministrator, sondern ein Programmierer bin.
Kürzlich haben unsere Systemadministratoren F5-Load-Balancer installiert. Seitdem ist mir aufgefallen, dass der Load Balancer jedes Mal, wenn eine Anfrage abläuft und eine 500 auslöst, dieselbe Anfrage an unseren anderen Server sendet. IIS sendet die Timeout-Antwort, obwohl das Skript tatsächlich noch ausgeführt wird. Selbst POST-Anforderungen werden dupliziert, wenn ein Skript länger als 5 Minuten ausgeführt wird. Dies scheint mir ein potenzielles Problem zu sein, insbesondere bei E-Commerce-Websites, bei denen die Kundenabrechnung eine Rolle spielt.
Dies ist nur ein Problem mit einigen unserer länger laufenden Skripte (aber es ist ein ernstes Problem). Mir wurde gesagt, dass dies ein erwartetes Verhalten ist, und wir müssen unseren Code ändern, um ihn anzupassen. Meine Fragen sind also:
- Ist das erwartetes Verhalten?
- Was ist der Vorteil, wenn der Load Balancer die Anforderung nach einer anderen Zeitüberschreitung repliziert, als wenn der Benutzer nicht aktualisieren muss?
- Wenn mit dieser Architektur ein Skript ausgeführt wird, das entweder den Server blockiert oder Ressourcen blockiert, wird es auf beiden Servern ausgeführt. Ist das wirklich optimal?