Обратите внимание, что вместо WordPress
лучше использовать современную и качественную
систему управления сайтом - MaxSite CMS!

Анализ потребления памяти WordPress

1 февраля 2008 г. Просмотров: 8304 RSS 13
WordPress » Лаборатория

Решил проверить и посмотреть где в WordPress'е идет повышенное потребление памяти. Для этого я сделал небольшую функцию, которая выводит текущее потребление памяти (из "memory_get_usage") и прописал её после различных действий в wp-settings.php. Получилась довольно интересная картина.

Сразу хочу сказать, что испытания проводил на локальном компьютере (Windows). Здесь нюанс в том, что на серверах видимо используются какие-то кеширующие методы: во всяком случае тот же самый шаблон на моей же сборке на сервере показывает почти в 10 раз меньшее потребление. Для меня это загадка...

Но главная цель - посмотреть динамику потребления. В этом случае важна прежде всего разность с предыдущим значением.

Итак, первый тест. Кэш отключен, шаблон default. Включены основные плагины.

  • Начало settings.php = 0.21MB
  • wp-content/advanced-cache.php = 0.21MB
  • /languages = 0.21MB
  • compat.php = 0.24MB
  • functions.php = 0.65MB
  • wp-db.php = 0.76MB
  • cache.php = 0.87MB
  • classes.php = 1.09MB
  • plugin.php = 1.15MB
  • default-filters.php = 1.25MB
  • streams.php = 1.28MB
  • gettext.php = 1.35MB
  • l10n.php = 1.37MB
  • formatting.php = 1.77MB
  • capabilities.php = 1.89MB
  • query.php = 2.3MB
  • theme.php = 2.45MB
  • user.php = 2.52MB
  • general-template.php = 2.82MB
  • link-template.php = 2.99MB
  • author-template.php = 3.05MB
  • post.php = 3.55MB
  • post-template.php = 3.67MB
  • category.php = 3.72MB
  • category-template.php = 3.85MB
  • comment.php = 4.08MB
  • comment-template.php = 4.18MB
  • rewrite.php = 4.38MB
  • feed.php = 4.44MB
  • bookmark.php = 4.5MB
  • bookmark-template.php = 4.54MB
  • kses.php = 4.67MB
  • cron.php = 4.72MB
  • version.php = 4.72MB
  • deprecated.php = 4.86MB
  • script-loader.php = 4.99MB
  • taxonomy.php = 5.3MB
  • update.php = 5.31MB
  • canonical.php = 5.39MB
  • vars.php = 5.6MB
  • my-hacks.php = 5.6MB
  • PLUGINDIR = 9.4MB
  • pluggable.php = 9.59MB
  • new WP() = 9.96MB
  • $locale_file = 9.99MB
  • locale.php = 10.04MB
  • do_action(init) (завершение settings.php) = 10.38MB
  • Окончательный вывод шаблона = 10.88MB

Обратите внимание на 4-х мегабайтный прирост после «PLUGINDIR». В этом месте происходит подключение всех активированных плагинов.

Следующий тест выполнен при тех же условиях, только деактивированы все плагины.

  • settings.php = 0.21MB
  • wp-content/advanced-cache.php = 0.22MB
  • /languages = 0.22MB
  • compat.php = 0.24MB
  • functions.php = 0.65MB
  • wp-db.php = 0.76MB
  • cache.php = 0.88MB
  • classes.php = 1.09MB
  • plugin.php = 1.15MB
  • default-filters.php = 1.26MB
  • streams.php = 1.28MB
  • gettext.php = 1.35MB
  • l10n.php = 1.37MB
  • formatting.php = 1.77MB
  • capabilities.php = 1.89MB
  • query.php = 2.3MB
  • theme.php = 2.45MB
  • user.php = 2.52MB
  • general-template.php = 2.82MB
  • link-template.php = 2.99MB
  • author-template.php = 3.05MB
  • post.php = 3.55MB
  • post-template.php = 3.67MB
  • category.php = 3.72MB
  • category-template.php = 3.85MB
  • comment.php = 4.08MB
  • comment-template.php = 4.18MB
  • rewrite.php = 4.38MB
  • feed.php = 4.44MB
  • bookmark.php = 4.5MB
  • bookmark-template.php = 4.54MB
  • kses.php = 4.67MB
  • cron.php = 4.72MB
  • version.php = 4.72MB
  • deprecated.php = 4.86MB
  • script-loader.php = 4.99MB
  • taxonomy.php = 5.3MB
  • update.php = 5.32MB
  • canonical.php = 5.39MB
  • vars.php = 5.6MB
  • my-hacks.php = 5.6MB
  • PLUGINDIR = 5.6MB
  • pluggable.php = 5.79MB
  • new WP() = 6.14MB
  • $locale_file = 6.17MB
  • locale.php = 6.22MB
  • TEMPLATEPATH . /functions.php = 6.46MB
  • do_action(init) (завершение settings.php) = 6.42MB
  • Окончательный вывод шаблона = 6.91MB

Из всего этого можно сделать один вывод - сам WordPress даже без плагинов потребляет довольно прилично. Но, кажется, что сделать с этим ничего уже нельзя. Как я уже неоднократно говорил - WordPress подключает почти все файлы, которые на самом деле могут даже не потребоваться.

В ваших силах только отключить неиспользуемые плагины, а также проверить те, которые включены, но потребляют больше всех. Может быть есть какой-то менее затратный аналог.

Теперь о совсем неприятном. Для чистоты эсперимента я проделал примерно теже операции с WordPress 2.0.10 и 1.5.2(!!!). В итоге при почти тех же (полных аналогов, к сожалению уже нет) включенных плагинах общее потребление не превысило 5Мб. При отключении всех плагинов - чуть меньше 3Мб.


twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru friendfeed.com google.com yandex.ru
Комментариев: 13
  1. Ну понятно, с каждой версией функционал и затраты походу накручивают... Это призыв перейти на старые версии? smile Скоро лучше на твою перейдем! :cool:

  2. 2008-02-02 в 00:21:21 | Максим

    Ну не знаю. Я же сромно умолчал сколько на данный момент потребляет моя CMS. wink

  3. Наверняка ведь и разработчики заинтересованы в минимизации нагрузки, просто так они не оставят это..

  4. Интересный опыт...:wink:

  5. 2008-02-02 в 16:15:03 | Алексей

    Позновательно. Спасибо

  6. 2008-02-02 в 16:41:43 | Владимир

    Я пробовал запустить WP при memory_limit = 8 MB. Ничего не получилось, хотя плагины были отключены и тема была стандартная.

    Наверное, что-то еще потребляло 1МБ.

    При 16МБ все, конечно, заработало.

    P.S. Похоже еще пара новых версий и действительно придется подумать о другом движке (или хостинге :idea: )

  7. гипер полезная информация, спасибо

  8. 2008-02-16 в 16:23:41 | юлия сонник

    У меня на localhost потребление памяти оелоло 6 МБ

    А на majordomo целых 11 МБ!!! Как можно изменить ситуацию

    p.s. плагинов включено минимальное количество, только самые основные...

  9. Мне - вообще хостер персонально объем доступной памяти увеличивал до 16 Мб.

  10. 2008-03-12 в 20:57:30 | юлия сонник

    А кто знает какой предел потребления памяти на majordomo.ru? А то я только знаю, что у них предел на нагрузку процессора 15% вроде бы, и максимальное количество обращений к БД не более 20000 в час, а вот что у них там с памятью, подскажите плиз...

  11. 2008-05-28 в 09:49:54 | Андрей

    У меня настроены несколько блогов на движке Ворпресс, почти каждый день происходит их отключение в связи с перегрузкой ресурсов хостера.

    А сколько хвалебных статей в инете ходит в пользу движка Вордпресса!

    Обман, однако.

  12. ну так правильно вп папки открывает, подключат файло, данный глюк выкавыривал еще в php-nuke в админке, надоедал тормозной тупняк, кешировал вайлы в mysql потом одним запросом выкавыривал, добовлялось все кнопкой обновить директории, и лешний гемор и память уходят, нагрузка на бд уменьшается =) да и инклюдиться только то что используется

  13. Для этого я сделал небольшую функцию, которая выводит текущее потребление памяти.

    Вы бы не могли выложить эту "небольшую функцию" я хотел бы провести подобное тестирование.

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Комментарий будет опубликован после проверки

(войти без комментирования)

Имя и сайт используются только при регистрации

Авторизация: Loginza.

(обязательно)

РЕКЛАМА Виртуальная Интернет библиотека XServer.ru - Виртуальная Интернет библиотека