У нас есть веб-приложение, которое традиционно работает на Windows Server 2003 Std. Эд. 32bit в Apache2.2 с perl 5.8. Я пытаюсь перенести его на Windows Server 2008 Std. Эд. 64-битная версия в Apache2.2 с платформой perl 5.10. Он отлично работал на старой платформе, но теперь у меня проблемы с памятью.
В httpd.conf у меня есть:
ThreadLimit 20 ThreadsPerChild 20 MaxRequestsPerChild 10000
В диспетчере задач Windows в настоящее время имеется 20 экземпляров «perl.exe * 32», каждый из которых использует около 24 000 КБ памяти. Количество экземпляров увеличивается или уменьшается в зависимости от ограничения потока, но никогда не опускается ниже лимита. Технически приложение работает, но работает очень и очень медленно. Мы используем один и тот же httpd.conf на обеих платформах. Может ли это быть связано с переходом на Perl 5.10 или переходом на 64-битную версию Windows, и как это исправить?
Ты можешь иметь
RequestHeader unset Connection
RequestHeader unset Server
установите в вашем файле конфигурации. Удалите их, и проблема исчезнет.