php память сколько слишком много - PullRequest
5 голосов
/ 06 апреля 2010

В настоящее время я переписываю свой сайт, используя свой собственный фреймворк (он очень прост и делает именно то, что мне нужно, мне не нужно что-то вроде Zend или Cake PHP). Я проделал большую работу, чтобы убедиться, что все кешируется правильно, кешируя страницы в файлах, поэтому избегайте SQL-запросов и вообще ограничивайте количество SQL-запросов.

В целом это выглядит очень быстро. Среднее время, необходимое для первой страницы (более 100 раз), составляет 0,046152 микросекунды.

Но в одном я не уверен, достаточно ли я сделал, чтобы уменьшить использование памяти php. Единственный раз, когда я сталкивался с проблемами, это при загрузке больших файлов.

При использовании memory_get_peak_usage (TRUE), который, я думаю, возвращает наибольший объем памяти, использованный во время работы скрипта, среднее значение (полученное более 100 раз) составляет 1572864 байта.

Это хорошо?

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

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

РЕДАКТИРОВАТЬ: Просто мини-эксперимент, который я сделал для себя. Я скачал и установил Wordpress и установку по умолчанию без дополнительных надстроек, только один пользователь и только один пост, и он использовал 10,5 мегабайт памяти или «11010048 байт». Вполне доволен моими 1,5 Мб сейчас.

Ответы [ 3 ]

3 голосов
/ 06 апреля 2010

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

Время генерации чрезвычайно зависит от оборудования, на котором работает ваш сайт, очевидно.Тем не менее, время генерации 0,046152 секунд (я полагаю, вы имеете в виду секунды здесь) звучит очень хорошо для меня при нормальных обстоятельствах.

3 голосов
/ 06 апреля 2010

Это субъективный вопрос. У PHP много накладных расходов, и при вызове функции с TRUE эти издержки будут включены. Вы поймете, что я имею в виду, когда вызовете функцию в простом скрипте Hello World. Также имейте в виду, что результаты могут сильно отличаться в зависимости от того, работает ли PHP как модуль apache или FastCGI.

К сожалению, никто не может предоставить гарантии. Всегда будут непредвиденные переменные, которые могут разрушить сайт. Выполните нагрузочное тестирование. Используйте профилировщик кода, чтобы сузить местоположение любых узких мест, чтобы увидеть, есть ли способы сделать эти кодовые блоки более эффективными

Энциклопедия Britannica думала, что они были готовы, когда они начали свою энциклопедию, поддерживаемую рекламой, десять лет назад. Разработчики не знали, что они объявят об этом в доброе утро Америки в день запуска. Все это рухнуло на несколько дней.

0 голосов
/ 06 апреля 2010

Пока ваши системы не меняются местами, использование памяти разумно. Любая дополнительная проблема - просто преждевременная оптимизация.

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