Как я говорю, сколько памяти / ресурсы являются моим израсходованием сценария PHP?

Привет парни, я отлаживаю свое приложение здесь и в основном вкратце - приложение, вымирают на моем сервере онлайн или возможно его моем затухании сервера. Но я проверил это приложение три различных сервера и все показанные подобные результаты, приложение работало бы некоторое время, но внезапно после того как я буду открывать все больше запросов, я получил бы Сетевую ошибку или сайт, не загрузится.

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

Или это, потому что я размещаю его на технически общем хосте? Я должен искать специализированный хостинг для хостинга приложения? Существует много сложных запросов базы данных и запросов ajax в моем приложении здесь.

8
задан Ali 25 July 2010 в 05:27
поделиться

2 ответа

Что касается проверки того, сколько памяти использует ваш скрипт, вы можете периодически вызывать memory_get_usage (true) в точках вашего кода, чтобы определить, какие части вашего скрипта используют объем памяти. memory_get_peak_usage (true) , очевидно, возвращает максимальный объем использованной памяти.

Вы говорите, что ваше приложение какое-то время работает нормально. Это один скрипт, который выполняется все это время, или много разных запросов / посетителей страниц? Обычно для каждого сценария существует max_execution_time (часто по умолчанию 30 секунд). Это можно изменить в коде для каждого сценария, вызвав set_time_limit () .

Существует также внутренний предел memory_limit, установленный в php.ini. Это может быть 64 МБ или меньше на общем хосте.

«... как только я буду открывать все больше и больше запросов ...» - существует ограничение на количество одновременных (ajax) запросов, которые клиент может сделать с сервером.Браузеры могут быть установлены на 8 или даже меньше (это можно изменить в Firefox через about: config ). Это сделано для того, чтобы один клиент не завалил сервер запросами. Сервер может быть настроен на блокировку клиентов, открывающих слишком много запросов!

Общий хост может быть ограничительным. Однако если на хосте не размещено слишком много сайтов, они могут быть довольно мощными серверами, дающими вам доступ к большой мощности на на короткое время . Акцент на короткое время - в интересах хоста контролировать сценарии, которые потребляют слишком много ресурсов на общем сервере, поскольку это может повлиять на других клиентов.

Стоит ли искать специализированный хостинг для размещения приложения?

Вам нужно будет уточнить детали. Большинство веб-сайтов в наши дни являются «приложениями». Если вы делаете больше, чем просто обслуживаете веб-страницы и постоянно запускаете интенсивные сценарии, которые выполняются в течение определенного периода времени, вам может потребоваться выделенный хостинг. Не только для вашей выгоды, но и для других на общем сервере!

10
ответ дан 5 December 2019 в 17:33
поделиться

Ответ, вероятно, заключается в том, что ваша хостинговая компания имеет довольно ограничительную конфигурацию php.ini. Они могут, например, ограничивать количество времени, в течение которого может выполняться скрипт, или ограничивать количество памяти, которое может использовать скрипт.

Что пытается сделать ваш код?

Вы можете рассмотреть возможность использования memory_get_usage и/или memory_get_peak_usage.

0
ответ дан 5 December 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: