Apache ThreadsPerChild

#memory #apache2

#память #apache2

Вопрос:

Одно из наших сторонних корпоративных приложений использует Apache 2.2.15 x86,

с дочерним элементом ThreadsPerChild, равным 1920 (верхний предел по умолчанию),

работает на Windows 7 x64 (компьютер для разработки)

Запустив его за ночь, размер фиксации в ОС Windows неуклонно ползет вверх, и ни один запрос не отправляется в Apache.

Чтение http://blogs.technet.com/b/markrussinovich/archive/2009/07/08/3261309.aspx ,

Вопросы:

  1. Возможно ли, что процесс x86 с таким количеством потоков просто обходится Windows в большие накладные расходы, и он достигнет размера виртуальной памяти 1,6 ГБ (из Process Explorer, когда httpd.exe создается дочерний элемент)

  2. У кого-нибудь был опыт запуска Apache с таким количеством потоков раньше (1920)

Ответ №1:

Потоки никогда не были созданы для масштабирования (ИМХО). Может быть, пришло время изучить систему асинхронной обработки запросов? Как ‘nginx’..

Комментарии:

1. Это стороннее приложение, нам придется попросить поставщика использовать nginx вместо apache

2. @portoalet — это httpd.exe занимает так много памяти? Или Windows занимает так много памяти?