Ich habe Micro-optimizing unsere Seite Antwortzeit auf Tomcat und in fast allen Fällen sehe ich eine Reaktionszeit von 50ms wenn ich immer und immer wieder auffrischen, aber wenn die Seite nicht für eine Sekunde geschlagen wird oder zwei springt die Reaktionszeit zurück auf 500ms.Tomcat sporadische Latenz
Ich habe dieses gleiche Verhalten unabhängig von lokalen, nicht lokalen, APR, NIO, JIO, statischen oder dynamischen Antworten gesehen (dh Serving statische Datei oder Übergabe der Antwort dynamisch). Bisher habe ich dieses Verhalten noch nicht gesehen nicht geschehen auf Tomcat (das ist konsistent unter 400ms unabhängig von der Frequenz).
Ich habe Visual VM auch verwendet, um zu sehen, ob es irgendwelche Hinweise gab.
Ich dachte, es wäre eine Art Keep alive, aber wenn ich Apache Bench laufen lasse, bekomme ich sogar noch schnellere Antwortzeiten (unter 50ms) (offensichtlich, weil es häufig darauf trifft).
Also wie halten Sie eine geringe Latenz nicht häufig URL in Tomcat drücken? Vielleicht ist diese Frage besser für ServerFault?
UPDATE: Ich bin fast positiv, es ist ein Tomcat 6 Problem. Ich dachte, ich hätte auf Tomcat 7 getestet, aber ich habe es erneut getestet und hatte kein Problem (siehe Ergebnisse unten). Selbst das neueste Tomcat 6 hat dieses Problem immer noch. Hier
ist die ab
Ausgang für Tomcat 6 (der max bemerken):
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 14 39 45.2 30 314
Waiting: 14 38 45.2 30 314
Total: 14 39 45.2 30 314
Hier ab
Ausgang für Tomcat 7 Bekanntmachung der max:
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 25 38 8.8 37 67
Waiting: 25 37 8.7 36 66
Total: 25 38 8.8 37 67
Die Tomcat Versionen sind der einzige Unterschied (gleiche Maschine, gleiche JDK, etc ...). Ich war mir sicher, dass das neueste Tomcat 6 in Ordnung sein würde, aber es hat ähnliche Latenz auf erste Anfrage.
Es hängt wirklich davon ab, was Ihre Anfrage tut, würde ich denken. Nehmen Sie nur eine HTML-Datei oder initialisieren Sie eine Art von Datendienst, ect. – aglassman
Verwenden Sie openjdk? Ich hatte ein paar seltsame Probleme damit, als ich zu Oracle JDK wechselte. – Jaydee
Vielleicht gibt es eine Art von Full-GC 'Stoppt die Welt' ... Hast du die Garbage-Collector-Ausgabe (verbose GC) überprüft? – home