Решение состояло в том, чтобы добавить строку к vhost конфигурационному файлу, которые устанавливают определенное значение PHP, которого я потребовал. Так вместо того, чтобы установить путь к php_error.log
в пользовательском файле PHP.INI для каждого сайта я изменил vhosts файл конфигурации для каждого сайта как требуется.
Таким образом, мой vhost файл конфигурации теперь читает таким образом …
ServerAdmin me@my-domain.com
ServerName my-domain.com
ServerAlias www.my-domain.com
DocumentRoot /srv/www/my-domain.com/www/
ErrorLog /srv/www/my-domain.com/logs/error.log
CustomLog /srv/www/my-domain.com/logs/access.log combined
php_value error_log /srv/www/my-domain.com/logs/php_error.log
Я нашел решение в другом месте на ServerFault.
Используете ли вы Windows Server 2003 Standard Edition или Enterprise Edition? Если вы используете Enterprise Edition, вы можете установить Windows System Resource Management (WSRM) и ограничить процессор, используемый W3WP.EXE.
Но, помимо этого, я сначала хотел бы понять , почему W3WP.EXE потребляет много ресурсов процессора. Ваши инструменты здесь взяты из Microsoft SysInternals: Process Explorer и Process Monitor.
Используйте Process Explorer, чтобы убедиться, что проблема вызвана именно W3WP.EXE, и получить более полное представление о его процессоре, вводе-выводе и памяти. Применение. Здесь нужно быть уверенным в вашей доступной памяти и подкачке страниц. Например, вам нужно больше 4 ГБ. Я не знаю, сколько использует ваш STORE.EXE. Однако не превышайте 8 ГБ для сервера Exchange 2003.
После этого используйте Process Monitor, чтобы реально наблюдать, что он делает. Настройте фильтр для «Имя процесса IS W3WP.EXE» и выберите «Удалить отфильтрованные события». Теперь вы будете наблюдать только за своим рабочим процессом.
Если ничего не отображается, очистите фильтр по умолчанию, который исключает активность из процесса «Система». Причина в том, что я думаю, именно здесь вы увидите свою HTTP-активность.
Это может дать вам некоторые подсказки относительно того, что происходит.