php-уведомления, вызывающие значительную нагрузку - PullRequest
1 голос
/ 29 января 2012

У нас есть 3 веб-сервера drupal (pressflow 6.22) за балансировщиком нагрузки. Из-за обновления мы получаем кучу уведомлений от php, пока мы пытаемся их исправить, я просто хотел отключить уведомления. Поэтому я изменил PHP.ini с

error_reporting  =  E_ALL

до

error_reporting = E_ALL & ~E_NOTICE

Как только я это сделал, загрузка машин увеличилась в 30 раз, число подключений к БД удвоилось.

Как только я вернул его обратно, все вернулось к норме.

Я не понимаю, как подавление уведомлений может вызвать столько горя. Это просто накладывает большие затраты на php, чтобы отфильтровать их или что-то в этом роде?

Многие из этих ошибок исходят от основных и основных модулей, поэтому в некоторых случаях я не хочу взламывать модуль для исправления уведомления, значит ли это, что мне просто нужно жить с ними?

ТИА

1 Ответ

1 голос
/ 29 января 2012

Хм, внутренне, уведомления все еще срабатывают, просто не показываются или регистрируются.Обычно это не проблема, однако , если вы определяете свой собственный set_error_handler, код может испортить ситуацию ... Обычно, он должен делать что-то вроде if($errno & error_reporting()){/* only then do something */}, но если вы определяете свой собственныйОбработчик ошибок, вы можете проверить этот код (или опубликовать его).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...