Краткий анализ потребления памяти WPMU2.8.2+BP1.0.3
Выполняя просьбу посетителей про обзор потребляемой памяти PHP и количества запросов к базе данных вновь установленных WordPress MU 2.8.2 и BuddyPress 1.0.3 я был несколько обескуражен. Потребление выросло достаточно ощутимо, хотя визуально я бы сказал, что незаметно.
Вот результаты моих замеров (я привожу минимальные числа, которые получил, после 3 обновлений каждой из указанных страниц). Я выбрал эти страницы как потенциально самые посещаемые.
Анализируемая страница | # запросов к БД | # Мб памяти |
1. Главная страница сайта | 113 | 26.5 |
2. Админка сайта | 78 | 29.4 |
3. Новости (записи основного блога) | 95 | 28.4 |
4. Пользователи | 106 | 26 |
5. Группы | 92 | 26.1 |
6. Блоги | 113 | 27.8 |
7. События | 67 | 25.9 |
8. Страница Профиль | 106 | 26.2 |
9. Страница Активность профиля | 41 | 26.1 |
10. Страница Сообщения профиля | 108 | 25.9 |
11. Страница Друзья профиля | 93 | 26 |
12. Страница Группы профиля | 71 | 25.9 |
13. Страница События профиля | 51 | 25.8 |
Это не идет ни в какое сравнение с результатами потребления памяти, представленных в записи Производительность: цифры, советы. Часть2 (там использовался WordPress MU 2.7 и BuddyPress RC-1).
В следующей записи вы прочитаете:
Защита регистрации в BuddyPress внутри bbPress
Прирост тоже заметил.. причем чего то улучшенного по сравнению с 1.0.1 не заметил…
@Александр:
Офигенные улчшения будут после 17 августа :)) Сейчас просто выкладываются исправления ошибок.
А потом темы и прочее не надо будет переделывать? :)
столько изменений вносилось…
Кстати использую eAccelerator, результат работы “морды”:
Render Time: 0.849 секунды cpu (90% загрузка, 58.604 запуск). Время: 0.935 sec (10.9% for queries). DB queries: 127, none defective, none > 0.500 sec. Память: 16.1MB
@Александр:
eAccelerator влияет только на потребление памяти. Но влияет значительно, так что сброс памяти в полтора раза – совсем неплохо.
Хорошо вам :) У нас одно время ругался, что 64Мб на процесс это слишком мало. Правда, после ковыряния напильником (переписана локализация на объектный PHP) и отключения хуков на обновление ядра и плагинов – стало гораздо лучше.
На живом сайте, включен плагин статистики (знаю, что это очень-очень плохо):
Время рендеринга: 1.051 секунды (0.0% на запросы). Запросы БД: 513, нет дефективных, нет > 0.500 секунды. Память: 35.3MB
Это с еакселератором (хотя я, если честно не понимаю, как он может повлиять на расход памяти). И – внимание, вопрос :-) Не подскажете “узкие места”, которые вы ковыряли при установке вашим клиентам? ) Может быть, где-то кроме статистики, еще можно наэкономить?
Вру, уже понимаю. Я чего-то думал, что 64 Мб памяти под еакселератор хватит. Реальное ускорение и снижение потребления памяти заметил после увеличения использования shm до 128 Мб.
@BaRoN!:
eAccelerator занимается кешированием php, то есть часто выполняемые громоздкие функции стают доступными гораздо быстрее. И где это вы аж 513 запросов получили? Уму непостижимо… Многие узкие места я переписываю вручную, избавляя от некоторых запросов сайт вообще.
На самом деле очень просто, ленты активности, собранные средствами wordpress mu :) т.е. не buddypress activity, а медленная и печальная сборка по всем блогам. Выполняется, впрочем, все шустро. И внутренний кэш MySQL помогает, т.е. нагрузку это не создает практически.
Да, я уже заметил уменьшение потребляемой памяти – спасибо за совет ))) Впредь буду подбирать размер кэша разумнее.
Время: 1.044 секунды (9.6% на запросы). Запросы БД: 519, нет дефективных, нет > 0.500 секунды. Память: 16.5MB – с большим кэшем eAccelerator’а.
Кстати, вдруг кому интересно.
Время рендеринга: 1.012 секунды cpu (80% загрузка, 3.484 запуск). Время: 1.262 секунды (4.7% на запросы). Запросы БД: 155, нет дефективных, нет > 0.500 секунды. Память: 15.2MB
Это с xcache, и после оптимизации :) Очевидно, “акселерирует” xcache похуже, но (по меньшей мере на нашем дедике) apache от в core не падает иногда.
Акселератор из PECL, который всячески хвалили в буржуйских Интернетах – на поверку по падучести оказался еще хуже, чем eAccelerator. И по производительности также.
Спасибо BaRoN!
Вывод: нет смысла ставить xcache, ставьте eAccelerator у кого естьтакая возможность.
Наверное, справедливое замечание – никаких проблем с “холодным стартом”, никаких сегфолтов апача при обслуживании ModX и MediaWiki на том же сервере.
2 @BaRoN!:
Про акселератор из pecl имеется в виду APC (http://pecl.php.net/package/APC) ?
Если да, то странно, т.к. среди его разработчиков известные лица числятся…
Он самый. APC. Более того, эти самые известные лица его хотят включить в состав PHP 6.
Я не исключаю, что проблемы могут быть связаны с багами оптимизации -O3 от GCC, или еще чем-либо, – может, у других все замечательно. Но у нас на Берсерках опыт был сугубо отрицательный – APC не порадовал вообще ничем. XCache оказался стабильнее, а eAccelerator эффективнее.
Привет. Подскажите, как перевести блог с бесплатного хостинга, вот мой блог сайт
Вроде как wordpress обязан легко перемещаться на новую площадку, хотя у меня все время промахи в базе данных. Я посмотрел там, но в php ничего не знаю как говорится и привлекать сторонних разработчиков программного обеспечения то же не хочется. Может подскажите, как неболезненно перенести блог?
@Svertikall:
Путь первый:
На старом хостинге – экспорт базы данных + полный бекап всех файлов сайта.
На новом хостинге – импорт базы данных + заливаете ваш бекап всех файлов.
Путь второй:
На старом хостинге – экспорт записей из админки со страницы Инструменты -> Экспорт + бекап всех файлов.
На новом хостинге – заливаете все файлы + установка WordPress + импорт записей в админе на странице Инструменты -> Импорт.