ЭКСПЛАНЕТ

Экспланет или экс-планета
редкий блог редкопишущего блогера

Февраль 1, 2012 11:49 pm

Оптимизация WordPress 3.x на VDS | Dedicated Server

Задача: уменьшить количество потребляемой памяти и увеличить скорость выполнения PHP скриптов при использовании WordPress 3.x на VDS.

Кэширование запросов к БД

Первым делом настроим кэширование SQL запросов. Для этого будем использовать систему кеширования встроенную в MySQL. Все что нужно для ее активации, это изменение нескольких строк в файле конфигурации сервера БД. А именно двух:

1[mysqld]
2# .....
3query_cache_limit = 1M
4# Для отключения кэширования достаточно установить этот параметр в ноль
5query_cache_size = 32M
6# ....

Параметр query_cache_limit задает максимальный объем результата выполнения запроса, который может быть помещен в кэш. В то время как, параметр query_cache_size задает объем памяти выделяемой для кэша.
Для того, чтобы изменения вступили в силу, перезагрузим MySQL.

PHP акселератор

Для оптимизации работы PHP, будем использовать PHP акселератор The Alternative PHP Cache также известный как APC, оптимизирующий работу PHP за счет кэширование байткода скриптов.
Установить APC можно командой

1sudo pecl install apc
Установка в Debian:

1apt-get install php-apc

А для его настройка достаточно немного подправить файл конфигурации PHP, добавив в него следующие строки

1;;;;;;;;;;;;;;;;;;;;;;
2; Dynamic Extensions ;
3;;;;;;;;;;;;;;;;;;;;;;
4; ....
5extension = apc.so
6apc.enabled = 1
7apc.shm_size = 30
8apc.rfc1867 = 1

Из всех описанных в этом посте методов оптимизации, оптимизация PHP за счет акселератора дает наибольший прирост производительности и экономии памяти. Например в моем случае, объем потребляемой памяти уменьшился в девять раз, а время выполнения уменьшилось с пары секунд до нескольких десятых секунд.

Pure PHP Localization

Для оптимизации непосредственно WordPress существует множество различных плагинов. Один из них Pure PHP Localization, который конвертирует бинарный файл локализации в PHP скрипт, что позволяет сэкономить некоторое количество оперативной памяти.
Конечно это не все способы оптимизации работы WordPress, но даже этих достаточно, что бы в разы увеличить производительность вашего сайта.

Декабрь 24, 2011 9:43 am

Как включить сжатие gzip (Apache, CentOS 6) VPS

Apache: Сжатие страниц “на лету” (mod_deflate)

Чем меньше размер страниц сайта, тем меньше расходуется траффик, меньше загружен канал и, самое главное, быстрее загружаются страницы. Самый простой способ достичь всего этого — сжимать страницы перед отправкой пользователю.

Модуль 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)