Решил я опять заняться ускорением своих сайтов. Недавно поставил плагин кэширования, но толку от него в моем случае мало: у меня на сервере стоят быстрые SSD диски, что и так быстро по умолчанию. К тому же все эти плагины для кэширования имеют одну проблему: если у вас стоит мобильная версия сайта, то плагин не понимает этого и обычному пользователю начинает выдавать мобильный шаблон.
К тому же Google Page Speed тоже не находит разницы, включено у меня кэширование или нет. Так зачем тогда мне грузить сервер лишним плагином? Лучше попытаться настроить сервер, чтобы он работал быстрее, тогда и каждый сайт не нужно ускорять в отдельности.
Как ускорить сервер apache за 5 минут?
Но прежде чем начать ускорять сервер, проверим текущую скорость на примере этого сайта. Воспользуюсь вот этим тестом скорости - Web Page Test
Тест показал, что первая загрузка страницы составила 9,8 секунды, а вторая 6,3 - это очень много, нужно уменьшить как минимум в два раза. (Если этот тест скорости не работает, то воспользуйтесь [urlspan]вот ЭТИМ тестом скорости[/urlspan].
Ускорить сервер я решил установкой специального пакета, который предоставляет сам GOOGLE - PageSpeed Module. Есть пакет для Apache и исходники для Ngnix. Я пока не знаю, что мне нужно, так как у меня работают два веб сервера одновременно.
Но проще всего, по крайней мере, мне поставить ускоритель для Apache, так как тут не нужно ничего компилировать. Да и ускорить Apache намного важнее, ведь именно он намного тяжелее сам по себе, да и обрабатывает PHP тоже он. А так как кэширования страниц у меня нет, то вся нагрузка тем более ложиться на Apache.
Но прежде чем скачать нужный пакет и установить его, нам нужно узнать версию своего сервера и его архитектуру. Сначала узнаем, какой Linux стоит на нашем сервере:
Получил ответ: Distributor ID: Debian Description: Debian GNU/Linux 7.8 (wheezy) Release: 7.8 Codename: wheezy Теперь нужно узнать, какая архитектура у нашего сервера - 32 или 64 bit? Даем команду:
Получил ответ: 3.2.0-4-amd64. Все понятно, нужно скачать пакет mod_pagespeed 64-bit .deb (Debian/Ubuntu). Скачиваем его и загружаем на сервер, например, в папку /home. Не забываем назначить пакету права 755. Переходим в каталог, куда загрузили пакет, например:
cd /home Теперь даем команду для установки пакета (в Debian без sudo):
|
sudo dpkg -i mod-pagespeed-*.deb sudo apt-get -f install |
Вторая команда не обязательна, она просто восстанавливает зависимости пакетов, если они вдруг нарушились.
Если все прошло нормально, то перезагружаем web сервер apache:
|
sudo service apache2 restart |
Вот и все, судя по описанию к пакету ничего настраивать больше не нужно. В Apache был установлен модуль, который будет там что-то оптимизировать и ускорять мои сайты. Но я не верю им на слово, сейчас проведу еще один тест скорости сайта и проверю, изменилось ли что-нибудь?
Хм, тест показал, что сайт стал на 2 секунды быстрее, случайность это или закономерность? Но так или иначе, хуже не стало, а только лучше. Но все же общее время загрузки страницы пока очень большое, нужно попробовать еще ускорить ngnix, так как он принимает запросы. А как видно из графика, первый отклик сайта происходит АЖ через секунду! Так же на графике видно, что сервис gravatar сильно замедляет страницу. Я раньше отключал его, но без него все комментаторы становятся безликими.
Выход - перемещать комментарии на отдельную страницу, уже нашел решение этого вопроса, нужно только применить на практике. Тогда и волки будут сыты, и овцы целы.
Как установить XCache?
Еще один способ ускорить сервер - это установить XCache, быстрый и стабильный акселератор PHP-кода, который тестируется и используется на системах с высокой нагрузкой.
XCache решает большинство проблем, которые присутствуют у других акселераторов. Например, возможность использования с более новыми версиями PHP. Установить XCache можно одной командой:
|
apt-get install php5-xcache |
Теперь нужно открыть и отредактировать файл /etc/php5/apache2/php.ini, добавив в него следующие значения:
|
zend_extension = /usr/lib/php5/20050606/xcache.so xcache.size = 64M xcache.cacher = On |
Далее перезапускаем сервер:
|
/etc/init.d/apache2 restart |
Вот так все просто, но должно быть эффективно, буду тестировать... Так же можете почить еще о том, как я ставил веб сервер на виндовс...