Экспланет или экс-планета
редкий блог редкопишущего блогера
Задача: уменьшить количество потребляемой памяти и увеличить скорость выполнения PHP скриптов при использовании WordPress 3.x на VDS.
Первым делом настроим кэширование SQL запросов. Для этого будем использовать систему кеширования встроенную в MySQL. Все что нужно для ее активации, это изменение нескольких строк в файле конфигурации сервера БД. А именно двух:
1[mysqld]2# .....3query_cache_limit = 1M4# Для отключения кэширования достаточно установить этот параметр в ноль5query_cache_size = 32M6# ....Параметр query_cache_limit задает максимальный объем результата выполнения запроса, который может быть помещен в кэш. В то время как, параметр query_cache_size задает объем памяти выделяемой для кэша.
Для того, чтобы изменения вступили в силу, перезагрузим MySQL.
Для оптимизации работы PHP, будем использовать PHP акселератор The Alternative PHP Cache также известный как APC, оптимизирующий работу PHP за счет кэширование байткода скриптов.
Установить APC можно командой
1sudo pecl install apc1apt-get install php-apcА для его настройка достаточно немного подправить файл конфигурации PHP, добавив в него следующие строки
1;;;;;;;;;;;;;;;;;;;;;;2; Dynamic Extensions ;3;;;;;;;;;;;;;;;;;;;;;;4; ....5extension = apc.so6apc.enabled = 17apc.shm_size = 308apc.rfc1867 = 1Из всех описанных в этом посте методов оптимизации, оптимизация PHP за счет акселератора дает наибольший прирост производительности и экономии памяти. Например в моем случае, объем потребляемой памяти уменьшился в девять раз, а время выполнения уменьшилось с пары секунд до нескольких десятых секунд.
Для оптимизации непосредственно WordPress существует множество различных плагинов. Один из них Pure PHP Localization, который конвертирует бинарный файл локализации в PHP скрипт, что позволяет сэкономить некоторое количество оперативной памяти.
Конечно это не все способы оптимизации работы WordPress, но даже этих достаточно, что бы в разы увеличить производительность вашего сайта.
Чем меньше размер страниц сайта, тем меньше расходуется траффик, меньше загружен канал и, самое главное, быстрее загружаются страницы. Самый простой способ достичь всего этого — сжимать страницы перед отправкой пользователю.
Модуль mod_deflate позволяет экономить до 70% траффика на страницах с HTML-содержимым. В зависимости от количества графики и других несжимаемых элементов на ваших сайтах, экономия может составлять около 10% от всего траффика.
К сожалению, некоторые старые броузеры и прокси-сервера не поддерживают сжатие страниц. Но мы можем их легко распознать и выдавать им страницы в несжатом виде.
Код, который нужно включить в httpd.conf:
AddOutputFilterByType DEFLATE text/html application/xhtml+xml text/plain text/xml \
text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
Не забудьте проверить, чтобы был включен модуль deflate_module:
LoadModule deflate_module modules/mod_deflate.so
(Источник: server-tuning.info)