Снижение потребления ресурсов 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 для различных версий вы можете по этим ссылкам
| |
Рубрики: Wordpress Метки: 2.5, 2.6, 2.7, Wordpress, интересно, полезно
Распечатать
Записи по теме
151 комментарий
Страницы: « 1 2 3 4 5 6 7 [8] Show All
Трэкбеки и пингбеки
Страницы: « 1 2 3 4 5 6 7 [8] Show All
Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии и FAQ! Прежде чем задавать глупые вопросы, прочитайте это. Научитесь ценить чужое время!

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


14 ноября 2009 в 20:24 (GMT+6)
у меня 2 проблемы
1. когда поставил ru_RU_lite.mo у меня вся админка анлийская стала… это нормально?
2. У меня маркер Start загружает блог, как снизить нагрузку? (такой вопрос уже был, но из за удаленных ответов так и не понял) + маркеры admin_head, admin_notices и plugins_loaded работают нормально, но все равно критично время загрузки по 400+ и никак не понимаю как снизить их
Буду Очень благодарен за ответы!
15 ноября 2009 в 18:43 (GMT+6)
учимся аккуратно читать коменты посты и факи
18 декабря 2009 в 10:11 (GMT+6)
Lecactus, спасибо за метод, все работает.
7 января 2010 в 19:44 (GMT+6)
возможно применить и к WP 2.9?
7 января 2010 в 19:48 (GMT+6)
ДА, в моем дистрибутиве 2.9 все в комплекте лежит
17 января 2010 в 6:46 (GMT+6)
Извените, я пока ничего не понимаю в ВордПресе и PHP. Ниже строки из конфига вашей версии 2.9 в таком варианте лайт работает? я не понимаю.. Спасибо.
define (‘WPLANG’, ‘ru_RU’);
// if (strpos($_SERVER['REQUEST_URI'], ‘wp-admin’)) define (‘WPLANG’, ‘ru_RU’); else define (‘WPLANG’, ‘ru_RU_lite’);
17 января 2010 в 10:36 (GMT+6)
2 Михаил – там в конфиге все по русски написано что закомментировать (дописать вначале // ), а что раскомментировать (убрать вначале строки //)
18 января 2010 в 20:49 (GMT+6)
Спасибо огромное! Теперь стало ясно :)
Еще вопрос, а пробелы в конфиге значение имеют?
Например:
//define (‘WPLANG’, ‘ru_RU’);
или
// define (‘WPLANG’, ‘ru_RU’); ???
if (strpos($_SERVER[‘REQUEST…
или
if (strpos($_SERVER[‘REQUEST ???
Не злитесь, ведь для Вас такие элементарные вопросы, для меня все равно что высшая математика для первоклашки :) Заранее спасибо.
27 января 2010 в 17:42 (GMT+6)
Спасибо! Блог теперь стал гораздо шустрее…
Я наверное побил все рекорды, у меня минус 8 метров!
А я тупо перешел на платный хостинг, отключил плагин Tune (который кстати жрал не мало ресурсов) и теперь не парюсь по поводу оптимизации потребления ресурсов. :)