Ru-Board.club
← Вернуться в раздел «UNIX»

» PHP + DS: Возможные причины утечки ресурсов

Автор: Delphi6
Дата сообщения: 25.07.2007 22:34
Здравствуйте,

Помогите разобраться На сервере замечается быстрое поглощение памяти неизвестно "чем". После рестарта машины освобождается около 750мб - но постепенно, час за часом, число уменьшается (в лучшем случае задержаться на неделю на отметке 50мб, а потом понизится до минимума 8мб).

Так как на сервере ничего кроме моих РНР скриптов не работает (не считая HTTP запросов на html документы) то подозреваю что, где-то происходит утечка ресурсов. Сапорт подтвердил мои подозрения и добавил что FreeBSD не является самой стабильной ОС.

Теоретически все РНР скрипты после завершения работы должны освободить занимаемые ресурсы, но на практике имею другую картину Решил задать вопросы:

1) Объекты на какие классы требуют ручной зачистки? (может уже кто-то встречался с похожей проблемой или читал где-то что-то). К примеру fsocketopen() нуждается ли в fclose() если после завершения работы класс уничтожается командой settype(&$this, 'null')?

2) Есть ли возможность проследить освободилась ли вся занимаемая РНР память?

3) И вообще что мне предпринять для выявлении ошибки?

Всем спасибо, даже за догадки
Автор: Cheery
Дата сообщения: 25.07.2007 22:39
Delphi6
ты, вначале, реши кто съедает память.. и дело не в скриптах, так как это всего лишь текст.
неправильно откомпилированный апач к такому же может привести.
Автор: Delphi6
Дата сообщения: 25.07.2007 22:51
Cheery

Цитата:
ты, вначале, реши кто съедает память

Спасибо за ответ. Дело в том что я не могу локализировать ошибку, через top ничего странного не замечаю, все процессы занимают стандартно от 8мб до 12мб.

Единственно что подозрительно так это httpd процессы от пользователей www (посетители сайтов), по статистике некоторые уже больше 3 минут процессорного времени заюзали. Для РНР по дефолту стоит лимит на 15 или 60 секунд. Вопрос: как простой http запрос сумел заюзать столько процессорного времени?


Цитата:
неправильно откомпилированный апач к такому же может привести.

Как узнать криво ли настроен Apache? (его настраивал сам дата центр, один из крупнейших в своей сфере, так что мало вероятно что бы они допустили ошибку, хотя не исключено).

И вообще мне сапорт сказал что если найдете возможность локализировать ошибку или причину, пожалуйста сообщите (несколько админов уже пытались настроить но без результата)

п.с. А так я и сам понимаю что вопрос слишком абстрактный, но у меня не получается более конкретизировать
Автор: Cheery
Дата сообщения: 25.07.2007 23:04
Delphi6

Цитата:
Для РНР по дефолту стоит лимит на 15 или 60 секунд. Вопрос: как простой http запрос сумел заюзать столько процессорного времени?

а при чем тут php? ну будут тебе с плохим коннектом тянуть картинку, скажем..

Цитата:
Как узнать криво ли настроен Apache?

я не говорил про настройки.. я говорил про сборку

Автор: Delphi6
Дата сообщения: 25.07.2007 23:12
Cheery

Цитата:
а при чем тут php? ну будут тебе с плохим коннектом тянуть картинку, скажем..

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


Цитата:
я не говорил про настройки.. я говорил про сборку

Мне казалось что Apache как и большинство других программ под FreeBSD устанавливаются автоматом из портов (скрипт самостоятельно все собирает и скачивает).

Теперь практичный вопрос что мне делать какие проги установить или какие тесты провести. Может мне вообще раздел сменить и перейти в "В помощь системному администратору"?
Автор: Cheery
Дата сообщения: 25.07.2007 23:24
Delphi6

Цитата:
какие проги установить или какие тесты провести.

в комплекте есть ab утилита.. с ее помощью можно "задать жару" апачу.
попробуй сначала погонять на статике.. и тогда уже ясно будет - винить ли php или нет.
Автор: Delphi6
Дата сообщения: 26.07.2007 00:55
Cheery

Цитата:
попробуй сначала погонять на статике.. и тогда уже ясно будет - винить ли php или нет.

Это слишком дорого обойдется РНР движок возможно отключить только на час или два, но не более. Но он у меня запускаются от одного пользователя, может есть возможность просмотреть статистику по нем? (к сожалению здесь я уже бессилен, в никсах почти ноль и даже не могу представить как это можно сделать, разве что top + фильтрация по пользователям).


Цитата:
в комплекте есть ab утилита..

Спасибо за утилиту, вот правда на кивор "ab utility apache" в гугле получил все кроме того что нужно (удивительно что не предлагают купить Виагру ).
Автор: Cheery
Дата сообщения: 26.07.2007 01:08
Почитай
http://www.linuxdevcenter.com/pub/a/linux/2006/11/30/linux-out-of-memory.html
http://rimuhosting.com/howto/memory.jsp
http://www.linuxjournal.com/article/2770

Страницы: 1

Предыдущая тема: Сервер печати с расширеными возможностями


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.