2013-10-09 3 views
1

Я сделал сайт для одного из моих клиентов давным-давно, и сайт действительно стал большим. Код был довольно любитель. Теперь, спустя годы, его сайт сходит с ума из-за слишком большого числа запущенных php-процессов. Я хотел бы знать, что может быть причиной этого. То, что я думаю, что я делал неправильно, было:Слишком много запущенных php-процессов. Выйдет (0), изменится?

  1. не закрывал соединения db.
  2. Не разрушающие объекты php.

    Может ли это быть причиной?

Также хорошо ли exit(0) сценарий php в конце? Это поможет?

+0

Позвольте мне угадать: 'apache' на frontend? Если да, это проблема, так как httpd будет вилка нового потока в каждом соединении. Используйте что-то вроде 'nginx' для интерфейса и пусть apache обрабатывает бэкэнд. Это может стать первым шагом для улучшения вашего приложения. –

+0

Пожалуйста, убедитесь, что вы используете _don't_ постоянные соединения mysql (используя, например, функцию 'mysql_pconnect()'). Это может действительно пойти не так, когда соединения не закрыты явно (обычные соединения закрыты самим php) – giorgio

ответ

1

Слишком много запущенных процессов PHP или httpd?
Если httpd, это связано с конфигурацией apache.
Apache может поддерживать готовность к запуску процессов, когда необходимо будет обрабатывать входящий запрос.

Я не думаю, что это вызвано либо соединений БД или не разрушающих PHP объектов:
- PHP переменные автоматически уничтожаются, когда они не нужны
- соединения DB должны закрываться автоматически, когда заканчивается сценарий.

+1

Как лучше настроить apache? –

+0

Итак, httpd процессы? –

+0

Я уверен, что его PHP-процесс, как было сказано хостинговой компанией –

Смежные вопросы