Windows CMD-Window ohne Focus slows down py scriptserver

Probleme bei der Installation?
Antworten
Ronsen
User
Beiträge: 1
Registriert: Samstag 31. März 2007, 18:22
Wohnort: Germany

Hallo,

zur Zeit suche ich nach Performance
für Webanwendungen basierend auf Python.
Daher untersuchte ich mit Apache
ab.exe -n 1000 -c 10 100kb.html
zum Beispiel ZOPE,
und nun eben einen Python HTTP-Script-Server (BaseHTTPServer).

Dabei ist mir etwas eigenartiges aufgefallen.

Ich starte den HTTP-Script-Server in einem CMD-Fenster.
Als nächstes rufe ich in einem weiteren CMD-Fenster
den Benchmark auf ab.exe -n 1000 -c 10 100kb.html.

Das Fenster mit dem HTTP-Script-Server
gibt pro verarbeiteten request eine message in der Konsole aus,
woraus man auch die Verarbeitungsgeschwindigkeit
optisch ableiten/erkennen kann.

Bei -c 10 (concurrency,parallele requests)
kamen nur ca 10 req/s zustande.
Da ich -c 10, für einen hohen Wert hielt, setzte ich diesen herunter
...erst bei -c 5 war das Ergebnis mit 222 req/s akzeptabel.

Achtung!
Der Focus war bei diesen Tests immer auf dem CMD-Fenster in dem der ab-Bench ablief.

Wenn man wieder -c 10 heranzieht und nach dem Start
des ab-bench sogleich das CMD-Fenster mit dem HTTP-Script-Server anclickt und so den Focus darauf legt,
ja, dann kommen auch 200 req/s zustande.

Offenbar ist die Ausführungs-/Verarbeitungsgeschwindigkeit
innerhalb der Konsole davon abhängig,
ob der Focus darauf liegt oder nicht.

Der tieferliegende Grund scheint mir das Prozess-Handling von Windows2000 zu sein. Der Versuch im TaskManager für den/die CMD-Prozesse Priorität "Echtzeit"/"HohePriorität" zuzuweisen
brachte keine Besserung. Läßt sich die CMD-Konsole mit "ständigem Focus" starten, ohne danach wirklich den Focus zu haben?

Hat jemand ähnliche Erfahrung gemacht, Tipps ?

Mfg Ronsen
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Die Bildschirmausgabe kann durchaus die langsamste Operation unter mehreren sein und deshalb die Laufzeit insgesamt beeinträchtigen, ja.

Ich würde versuchen, das Fenster zu minimieren und/oder die Ausgaben unterdrücken zu lassen.
Antworten