Снижение потребления ресурсов WordPress
Если кто знает, то одно из отличий версий WordPress 2.3.1-2.3.3 сборки Maxsite.org от оригинальной было то что использовались различные языковые файлы для админчасти блога и самого «лица» блога. Тогда это давало существенный прирост в скорости работы сайта, за счет уменьшения вызовов этих самых строк (более подробно можете почитать в его свежем посте о MaxSite CMS, где снова была затронута эта тема). Как я уже там отметился в коментах – попробовал тоже самое сделать в свежей версии 2.7 (на последней бете) на своем сайте. Результат просто поразительный. Повторю цитаты из моих коментов по ссылке выше:
если файл локализации (полновесный ru_RU.mo весит 350кб) установлен как обычно, то
MySQL: 45запросов / 0.577 Потребление памяти: 13.3MB
а если его убрать вообще, то
MySQL: 45запросов / 0.550 Потребление памяти: 10.1MB
если подсунуть вместо «полновесного ru_RU.mo» кастрированный файл который «ru_RU_lite» переименовав его в ru_RU.mo то потребление памяти вырастает всего килобайт на 300 вместо трех мегабайт
замена в конфиге строки стандартной
define ('WPLANG', 'ru_RU');
на
if (strpos($_SERVER['REQUEST_URI'], 'wp-admin')) define ('WPLANG', 'ru_RU'); else define ('WPLANG', 'ru_RU_lite');
снизило потребление на главной странице до…7,7мб.
Пересмотрел я все плагины что у меня стоят и для перевода «лицевой» части блога потребовалось лишь скопировать несколько файлов имяплагина-ru_RU.mo в имяплагина-ru_RU_lite.mo, вообще бОльшая часть плагинов ведь переводится только в админ-части, поэтому и у вас получится всего несколько файлов отдельных переводов по 2-30кб.
В итоге получилось (для главной страницы) примерно так MySQL: 45запросов / 0.441 Потребление памяти: 8.6MB
Даже без калькулятора понятно что 8,6мб это существенно меньше оригинальных 13,3мб. Скорость загрузки страниц также повысилась
Испытание на «голом» сайте WP2.7 также показало снижение нагрузки примерно на 3мб и время генерации страницы в среднем на 0,1сек
Возник закономерный вопрос нужно ли в дистрибутив ВП сразу добавить такую опциональную строку конфиг и файлы ru_RU_lite для плагинов, чтобы желающие могли самостоятельно за пару минут путем редактирования конфига снизить потребление ресурсов.
Добавить ли такую опцию для снижения нагрузки в дистрибутив WP2.7 ?
- Да (97%, 188 голосов)
- Нет (3%, 6 голосов)
Всего проголосовало: 194
P.S. все вышеописанное вы можете применить и к WP 2.5-2.6.3
Скачать «лайт» версии перевода ru_RU_lite.mo для различных версий вы можете по этим ссылкам
Связанные записи
156 комментариев
Страницы: « 1 2 3 4 5 6 [7] 8 » Show All
Страницы: « 1 2 3 4 5 6 [7] 8 » Show All
Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!

(голосов: 21, средний: 4.29 из 5)

11 февраля 2009 в 18:05 (GMT+6)
не в одном потреблении памяти дело. есть еще понятие как скорость работы в целом. именно ее надо сравнивать. у меня лично 2.7 работает быстрее 2.6.* при примерно тех же показателях потребления и вообще этот параметр очень различается для каждого сервера. на одном хостинге при идентичной нагрузке плагинами пишет 10мб на другом 20, на третьем 15. и т.д. это все субъективно
11 февраля 2009 в 18:06 (GMT+6)
к тому же это потребление не всей памяти круглые сутки, а потребление на текущую страницу в данный момент времени когда она генерировалась.
+ плагины для версий 2.6 и 2.7 отличаются – тот же плагин галереи к примеру по разному “кушает”
11 февраля 2009 в 22:34 (GMT+6)
Чисто визуально что 2.6.3 что 2.7 работают одинаково быстро.
Просто у меня посещаемость растёт.
Сейчас пока 250 человек в сутки (на каждом сайте, итого 750-800).
На 1 человека приходится 8 просмотров.
Плюс с моего же хостинга скачиваются файлы по 50-100Мб.
А как читал, говорят, что при посещаемости в 1000 человек WP может начать грузить хостинг :(
И так как нагрузку на процессор удалось сбить до 0,… то вот интересует теперь оперативная память. На хостинге у меня максимум 32 Мб. Как бы WP не подобрался к этой отметке.
11 февраля 2009 в 22:36 (GMT+6)
Fujik, не подберется, если не перегрузите плагинами сильно. + суперэкш везде используйте на всякий случай. про 1000 – сказки. реально точно где то от 5-6тысяч стоит задуматься о кэшировании.
12 февраля 2009 в 11:44 (GMT+6)
Спасибо. Значит буду довольствоваться пока тем, что есть :)
19 февраля 2009 в 0:56 (GMT+6)
У меня на хосте РБК:
Лимиты:
— процессорное время (мин): 5;
— Память (Мб): 128;
— макс. кол-во открытых файлов (шт.): 64;
— макс. кол-во процессов (шт.): 48;
— макс. время выполнения web-скрипта (мин):
8,3.
— макс. суммарное потребление ресурсов
процессора2 за прошедшие 7 суток для всего
хостинга (мин)3: 500.
— макс. количество файлов4 хостинга: 30000.
— макс. количество операций ввода/вывода6 за
прошедшие 7 суток для всего хостинга3: 400000
— макс. суммарное время выполнения
длительных запросов5 к БД для всего хостинга
за сутки (запросов*секунд)3: 50000.
Значит будет работать и при посещаемости за 1000?
9 марта 2009 в 5:35 (GMT+6)
Чтобы не заморачиваться с переименованием файлов перевода плагинов и тем, но тем не менее использовать "lite" версию перевода сделал буквально все наоборот – переименовал файлы ru_RU в ru_RU_full, а файлы ru_RU_lite в ru_RU, видоизменив строку включения русской локали:
if (strpos($_SERVER['REQUEST_URI'], ‘wp-admin’)) define (‘WPLANG’, ‘ru_RU_full’); else define (‘WPLANG’, ‘ru_RU’);
Вроде все работает, проблем не замечено.
17 марта 2009 в 16:05 (GMT+6)
Действительно, эффект около 3 Мб. Только с переименованием не понятно. Я просто скопировал lite версию рядом с основной и заменил строку в конфиге. Так и надо делать или будут проблемы с русификацией, которые я пока не заметил?
Спасибо автору!
16 апреля 2009 в 10:33 (GMT+6)
Привет, Lecactus!
Поставил плагин WPTuner. Он показывает следующее:
всё что не вошло в скриншот ниже – всё синим цветом. т.е. нормально.
меня вот интересуют маркеры Start и get_sidebar
можно как то снизить время загрузки?
17 апреля 2009 в 13:34 (GMT+6)
ПОЖАЛУЙСТА помогите кто-нибудь :’(
Сегодня начало всё сильно тупить. Посмотрел через WP Tuner что не так, и увидел что widgets_init грузится больше 20 секунд, а остальные запросы милисекунды.
Виджетов у меня в теме нету. Что случилось, понять не могу… причём этот widgets_init долго грузится везде куда ни зайди – и в статьях и в админке.
p.s. пока что сижу на wordpress 2.2.3
20 апреля 2009 в 14:24 (GMT+6)
Заметил, что widgets_init начинает долго грузиться раз в несколько дней, и при этом сайт тупит жоско. Такой глюк как то сам исчезает.
Не могу понять из-за чего глючит…
20 апреля 2009 в 14:28 (GMT+6)
p.s. перезапуск веб-сервера не даёт результата.
20 апреля 2009 в 17:22 (GMT+6)
Может можно как то отключить в вордпрессе функцию widget_init ?
Чтобы даже если в каком то плагине и есть возможность использования его в качестве виджета, то чтобы не грузилось потом долго.
а то вот в файле wp-includes/functions.php выделенное на скриншоте синим цветом
удалил.
В результате в WPTuner строка widget_init совсем исчезла. Но plugin_loaded теперь начало так же долго грузиться как раньше widget_init
все плагины просмотрел. где есть упоминание о виджетах – отключил. но всё равно не помогло….
запарился уже :(
7 мая 2009 в 17:16 (GMT+6)
всем спасибо. коменты можно удалить
10 мая 2009 в 1:09 (GMT+6)
А в MU 2.7.1 это будет работать или там другая структура?
10 мая 2009 в 6:06 (GMT+6)
читаем коммент #27
19 июня 2009 в 15:06 (GMT+6)
К версии wordpress 2.8 будет выпущен файл лайт версии перевода ru_RU_lite.mo?
19 июня 2009 в 15:16 (GMT+6)
alexpts, он вообще то у меня идет в дистрибутиве 2.8 :-) по крайней мере в последней вчерашней редакции
19 июля 2009 в 19:19 (GMT+6)
Alexey абсолютно прав! Чтобы избежать проблем с переводом на русский у других плагинов надо делать именно так! например даже на твоем сайте нет перевода Show All для плагина paginated-comments…. потому что не подгружается перевод…. или у всех плагинов надо переименовывать названия файлов paginated-comments-ru_RU.po в paginated-comments-ru_RU_lite.po и т.д. так что удобнее обозвать ru_RU_full и подгружать его в админке!
19 июля 2009 в 19:24 (GMT+6)
Alex, неправильно вы все поняли. у 99% плагинов переводится только админчасть. тех плагинов где надо перевести “лицевую часть” – единицы