"perl.exe *32" gibt keinen Speicher frei, wenn es von Apache 2.2 auf einem 64-Bit-Windows-Server 2008 gestartet wird

"perl.exe *32" gibt keinen Speicher frei, wenn es von Apache 2.2 auf einem 64-Bit-Windows-Server 2008 gestartet wird

Wir haben eine Webanwendung, die traditionell auf Windows Server 2003 Std. Ed. 32bit in Apache2.2 mit Perl 5.8 lief. Ich versuche, sie auf eine Windows Server 2008 Std. Ed. 64bit in Apache2.2 mit Perl 5.10-Plattform zu migrieren. Auf der alten Plattform lief sie einwandfrei, aber jetzt habe ich Speicherprobleme.

In der httpd.conf habe ich:

ThreadLimit 20
ThreadsPerChild 20
MaxRequestsPerChild 10000

Im Windows Task-Manager gibt es derzeit 20 Instanzen von „perl.exe *32“, die jeweils etwa 24.000 KB Speicher verbrauchen. Die Anzahl der Instanzen wächst oder schrumpft mit dem Thread-Limit, fällt aber nie unter das Limit. Die Anwendung ist technisch einsatzbereit, aber sie ist einfach sehr, sehr langsam. Wir verwenden auf beiden Plattformen dieselbe httpd.conf. Könnte dies mit der Umstellung auf Perl 5.10 oder auf eine 64-Bit-Version von Windows zusammenhängen, und wie behebe ich das?

Antwort1

Vielleicht hast du

RequestHeader unset Connection
RequestHeader unset Server

in Ihrer Konfigurationsdatei festgelegt. Entfernen Sie diese und das Problem sollte behoben sein.

verwandte Informationen