Monthly Archive: Січень 2011

Optymalizacja Web Server

; Szhymat kэshyrovannыe danych z maksymalnыm urovnem kompressyy

Ogólne informacje o APC
Szczegółowe informacje na temat firmy APC
Informacje o hoście
Dla proverky bыla vыbrana CMS Joomla1.5.9 z demonstratsyonnыm zestawu danych po instalacji i szablon z domyślnych. W Testing proyzvodytelnosty w pomocy Narzędzia AB2 (To nieważne wyciągnąć 1000 stron K ważniejsze moderatorów 5 strumieniowe) Stron generacji prędkość uvelychylas 40%
Obiektywizm Rada otmechu i wady APC …
* Keshyrovanye działa tylko z modułem Apache mod_php (w trybie cli uskorenyya nie będzie)
Wniosek
Po pierwsze, serwery coś rasshyryat parku, zawsze warto podumat o świadczeniu optymalizacji oprogramowania do rabotayuscheho poziom różnyc. Zazwyczaj Daet Jest wiele Bolszoj Efekt, niż ilościach ustawień Bolszoj dopolnytelnыh, moschnыh apparatnыh i drogich zasobów.

2. Optymalizacja serwera www praca. Svyazka Apache Nginx.
Dawna praktykowany system 2 urovnevoho serwera. Stabilność systemu Эta Daet k Bolszoj Ilości wizyty, aw rezultacie – prędkość serwera www praca.

Svyazka w kotoroj Wiele zabыvayut, ale kotoraja tylko neobhodyma w Bolszoj ilości rabotayuschyh użytkowników w Internecie. Эta svyazka doskonale sprawdziły się i teraz naprawdę bardzo vыderzhyvaetsya morethan 500 użytkowników w Internecie. Ponadto, istnieje wiele innych Możliwość vыderzhyvat duże obciążenie!

5. Systemy keshyrovanyya PHP. Ostanovylys na XCache.
Znaczący Czas tratytsya serwer WWW na kompylyatsyyu PHP-kodu. Dlatego będę ustanowienie systemu reshyl keshyrovanyya PHP-kod. Biorąc pod uwagę liczbę varyantov ostanovylsya na XCache. Ale daję poniżej ekstraktów artykułów do instalacji raznыh Kilka systemów keshyrovanyya php-kod. Może w nekotorыh przypadkach te BĘDZIE эffektyvnы Więcej …
Do dostosowywania admynky XCache, sovetuyu dokumentów prochytat: http://xcache.lighttpd.net/wiki/InstallAdministration

make install clean
W oknie dialogowym Ustawienia Ustawienia dostępu do montażu, z punktu edynstvennыm Włącz pokrycia kodu wywrotka Domyślne onaya uwzględnione i służyć do определения.предотвращения perepolnenyya pamięci.

Mam nastroek plik poluchylsya takoj:
[xcache-common]
# Dołącz do interfejsu administratora
xcache.admin.enable_auth = On
xcache.admin.user = “admin”
# Pomoshchju pasmowego MD5 -s “hasło”

xcache.shm_scheme = “mmap”
xcache.size = 128M
xcache.count = 1
xcache.ttl = 0
xcache.var_size = 0M
xcache.var_slots = 8K
xcache.var_maxttl = 0
xcache.test = Wyłączony
xcache.readonly_protection = Wyłączony
xcache.coredump_directory = “”
xcache.stat = On

xcache.coverager = On

Po эtoho interfejsu administratora powinna dostupnыm przez URL http://www.hilik.org.ua/admin/
Tak i autoryzacji opredelena Ciebie xcache.ini.
Podjęte na miejscu http://www.hilik.org.ua

$ Wget http://bart.eaccelerator.net/source/0.9.6.1/
$ Tar xvjf eaccelerator-0.9.6.1.tar.bz2
$ Phpize
$ Zrobić

$ Sudo chmod 0777 / var / cache / eaccelerator
[PHP]
rozszerzenie = “eaccelerator.so”
; Pobierz limit rozmiaru pamięci podręcznej dysku (MB)
; Katalog do przechowywania cache
; Zawiera optymyzator kodu
; Modyfytsyrovannыe rekompilacji skryptów
; Otklyuchaem tryb debugowania
; Wszystkie pliki cache (Pusty filtrów)
; Neohranychennыy Wielkość pamięci cache
; W przypadkach braku miejsca w pamięci podręcznej Usuń obiekty na
eaccelerator.shm_ttl = “3600”
; Dane w pamięci podręcznej i pamięci, a na dysku
; Szhymat kэshyrovannыe danych z maksymalnыm urovnem kompressyy
eaccelerator.compress_level = “9”

Instalacja APC

Ogólne informacje o APC
Ogólne informacje o APC

Informacje o hoście
Informacje o hoście

Wady APC
Obiektywizm Rada otmechu i wady APC …
* Wsparcie FastCGI jest nieobecny
* Współpracuje z wersjami PHP & lt; = 5,2 C w wersji 5.3 otmechayutsya Problemy i coś kasaetsya 6.0 – sovsem przyszłość niepewna. Być może jakiś mechanizm keshyrovanyya Czy yntehryrovan w samym rdzeniu …
Wniosek
Moim zdaniem warto ustalić APC serwer svoem internetowej i poprobovat – podoydet Czy Ono ymenno ciebie. Pomimo ograniczonej liczby opysannыh Above APC uwierzyła większość nadezhnыm trojki osnovnыh realyzatsyy keshyrovanyya dla języka PHP …

© 2011 – 2014, https:. Все права защищены. Rudyuk Sergey. К2®

Web Server Optimization

xcache.shm_scheme = “mmap”
xcache.size = 128M
xcache.slots = 8K
xcache.gc_interval = 0
xcache.var_count = 1
xcache.var_ttl = 0
xcache.var_gc_interval = 300
xcache.readonly_protection = Off
xcache.coredump_directory = “”
xcache.stat = On

xcache.coverager = On

After эtoho admin interface it shall dostupnыm by URL http://www.hilik.org.ua/admin/
Yes and Authorization opredelena you in xcache.ini.
Taken on the site http://www.hilik.org.ua

$ Wget http://bart.eaccelerator.net/source/0.9.6.1/
$ Tar xvjf eaccelerator-0.9.6.1.tar.bz2
$ Phpize
$ Make

$ Sudo chmod 0777 / var / cache / eaccelerator
# Vi /etc/php5/apache2/php.ini
, Podklyuchaem Expansion
eaccelerator.enable = “1”
eaccelerator.shm_size = “64”
eaccelerator.cache_dir = “/ var / cache / eaccelerator”
eaccelerator.optimizer = “1”
eaccelerator.check_mtime = “1”
eaccelerator.debug = “0”
eaccelerator.filter = “”
eaccelerator.shm_max = “0”
1 hour (3600 seconds)
eaccelerator.shm_prune_period = “0”
, Data in cache and memory, and on disk
eaccelerator.compress_level = “9”
Installing APC

First, something Provera stitching Downloads Expansion extension = apc.so Indeed has registered in php.ini (Or apc.ini file was created with эtoy strochkoy in the folder C konfyhamy rasshyrenyy php – zavysyt here vasheho distribution. For Debian, for example, эtoy papkoy Will /etc/php5/apache2/conf.d/
General info about APC
Details on APC
Information about the host

Disadvantages APC

* Works with versions of PHP & lt; = 5.2 C version 5.3 otmechayutsya Problems and something kasaetsya 6.0 – sovsem future uncertain. Perhaps some kind Mechanism keshyrovanyya Will yntehryrovan in the same core …

1. Optimization CMS-system.
As shown Experience It would, I spent kotorыe Several years ago, naybolshaya velocity loading and propusknaya system – statycheskyh files. Speed ​​cms-systems and statycheskyh files otlychaetsya in 1000-10 000 times. Moreover, This strong skazыvaetsya else in Application System Web Server NGinx.
Knowing This, I pererabotal system keshyrovanyya into our cms-system Corporation 2 in such a way, To heneryrovalsya statycheskyy site of Dynamic contents. This gave Significant PRIROST Speed ​​and Significant Reduction of the load on the server.

3. Optimization work bazы data. Svyazka PostgreSQL-PGBouncer.
4. Optimization work with files Nginx.
If not properly Set Up Nginx, then on the Download Will not nuzhnoy rabotoy Apache. Therefore, We tuned Nginx so, To Live How can less frequently translated Management at Apache. In ydeale – rabotaya in general without Apache!

Setup and Installation xCache

cd / usr / ports / www / xcache /

By setting due dates, need it skopyrovat xcache.ini configuration file in / usr / local / etc / php /:
cp /usr/local/share/examples/xcache/xcache.ini / usr / local / etc / php /
and a little bit yspravyt.

extension = xcache.so
[xcache.admin]
AS # Specify the password md5 hash Create ego can be c
xcache.admin.pass = “XXXXXX”
[xcache]
# For the Select Cache 128 MB
xcache.slots = 8K
xcache.gc_interval = 0
xcache.var_count = 1
xcache.var_ttl = 0
xcache.var_gc_interval = 300
xcache.mmap_path = “/ dev / zero”
xcache.cacher = On
xcache.optimizer = On
[xcache.coverager]
xcache.coveragedump_directory = “”
Setting of XCache zakonchena, ostaetsja Set dostupnыm admin interface. To do this, I skopyroval yourself in / usr / local / share / examples / xcache / admin into the document Ruth svoeho webserver www.hilik.org.ua
Course through the CEI interface Only available statistics, but anyway, This poleznaya function.

Installation Eaccelerator

No eAccelerator package in repositories populyarnыh distributions, ego Therefore prydetsya assemble themselves. Snachala ustanavlyvaem neobhodymыe assemblies for Utilities:
$ Sudo apt-get install php5-dev build-essential
Next we obtain yshodnыe tekstы eAccelerator:
$ Cd / tmp /
eaccelerator-0.9.6.1.tar.bz2
$ Cd eaccelerator-0.9.6.1
$ ./configure –enable-Eaccelerator = shared
$ Sudo make install
Sozdaem directory for cache storage:
$ Sudo mkdir -p / var / cache / eaccelerator
And, Finally, podklyuchaem k eAccelerator PHP (add to the beginning of the file):
# Vi /etc/php5/apache2/php.ini
, Podklyuchaem Expansion
eaccelerator.enable = “1”
eaccelerator.shm_size = “64”
eaccelerator.cache_dir = “/ var / cache / eaccelerator”
eaccelerator.optimizer = “1”
eaccelerator.check_mtime = “1”
eaccelerator.debug = “0”
eaccelerator.filter = “”
eaccelerator.shm_max = “0”
1 hour (3600 seconds)
eaccelerator.shm_prune_period = “0”
eaccelerator.shm_only = “0”
eaccelerator.compress = “1”

Installing APC
Article at the following address: http://phpcoder.ws/2009-02/apc-setup.html

Proverka install APC
First, something Provera stitching Downloads Expansion extension = apc.so Indeed has registered in php.ini (Or apc.ini file was created with эtoy strochkoy in the folder C konfyhamy rasshyrenyy php – zavysyt here vasheho distribution. For Debian, for example, эtoy papkoy Will /etc/php5/apache2/conf.d/

Details on APC
Details on APC

Zamerы Changes proyzvodytelnosty
For proverky bыla vыbrana CMS Joomla1.5.9 with demonstratsyonnыm set of data after installation and template design with Default. In Testing proyzvodytelnosty in aid Utilities ab2 (It would Invalid drawn 1000 K importantly Site pages 5 streaming) velocity generation pages uvelychylas 40%

* Keshyrovanye is working only with the module apache mod_php (in cli mode uskorenyya will not be)

First, something rasshyryat park servers, always worth it podumat on Provision of software optimization, to rabotayuscheho ferent levels. Usually, daet This is a much Bolshoi Effect, than setting quantities Bolshoi dopolnytelnыh, moschnыh apparatnыh and expensive resources.

1. Optimization CMS-system.

As shown Experience It would, I spent kotorыe Several years ago, naybolshaya velocity loading and propusknaya system – statycheskyh files. Speed ​​cms-systems and statycheskyh files otlychaetsya in 1000-10 000 times. Moreover, This strong skazыvaetsya else in Application System Web Server NGinx.

Knowing This, I pererabotal system keshyrovanyya into our cms-system Corporation 2 in such a way, To heneryrovalsya statycheskyy site of Dynamic contents. This gave Significant PRIROST Speed ​​and Significant Reduction of the load on the server.

2. Optimization work web server. Svyazka Apache-Nginx.

We have long practiced a system of 2 urovnevoho web server. Эta system daet Stability k Bolshoi quantities visits, and As a result – Speed ​​work web server.
3. Optimization work bazы data. Svyazka PostgreSQL-PGBouncer.

Svyazka at kotoroj Many zabыvayut, but kotoraja just neobhodyma at Bolshoi quantities rabotayuschyh Users in online. Эta svyazka perfectly proved themselves and NOW we really really vыderzhyvaetsya morethan 500 Users in online. Moreover, there are a much else Ability vыderzhyvat Large load!
4. Optimization work with files Nginx.

If not properly Set Up Nginx, then on the Download Will not nuzhnoy rabotoy Apache. Therefore, We tuned Nginx so, To Live How can less frequently translated Management at Apache. In ydeale – rabotaya in general without Apache!

5. Systems keshyrovanyya PHP. Ostanovylys on xCache.

Significant Time Web server tratytsya on kompylyatsyyu PHP-code. Therefore, I will establish a system reshyl keshyrovanyya PHP-code. Considering the number of varyantov ostanovylsya on xCache. But, I give below extracts of articles to setup raznыh Several systems keshyrovanyya php-code. Maybe in nekotorыh cases, ones WILL эffektyvnы More …

For customization admynky xcache, sovetuyu prochytat documents: http://xcache.lighttpd.net/wiki/InstallAdministration

Setup and Installation xCache

cd / usr / ports / www / xcache /
make install clean

In the Settings Dialog settings access for assembly, with edynstvennыm point Enable code coverage dumper, Default onaya included and serve to определения.предотвращения perepolnenyya memory.
By setting due dates, need it skopyrovat xcache.ini configuration file in / usr / local / etc / php /:

cp /usr/local/share/examples/xcache/xcache.ini / usr / local / etc / php /

and a little bit yspravyt.
I have a poluchylsya takoj nastroek file:

[xcache-common]
extension = xcache.so
# Include the admin interface
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = “admin”
AS # Specify the password md5 hash Create ego can be c
# Pomoshchju band md5 -s “your password”
xcache.admin.pass = “XXXXXX”

[xcache]
xcache.shm_scheme = “mmap”
# For the Select Cache 128 MB
xcache.size = 128M
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 0M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = “/ dev / zero”
xcache.coredump_directory = “”
xcache.cacher = On
xcache.stat = On
xcache.optimizer = On

[xcache.coverager]
xcache.coverager = On
xcache.coveragedump_directory = “”

Setting of XCache zakonchena, ostaetsja Set dostupnыm admin interface. To do this, I skopyroval yourself in / usr / local / share / examples / xcache / admin into the document Ruth svoeho webserver www.hilik.org.ua
After эtoho admin interface it shall dostupnыm by URL http://www.hilik.org.ua/admin/
Course through the CEI interface Only available statistics, but anyway, This poleznaya function.
Yes and Authorization opredelena you in xcache.ini.

Taken on the site http://www.hilik.org.ua
Installation Eaccelerator

No eAccelerator package in repositories populyarnыh distributions, ego Therefore prydetsya assemble themselves. Snachala ustanavlyvaem neobhodymыe assemblies for Utilities:

$ Sudo apt-get install php5-dev build-essential

Next we obtain yshodnыe tekstы eAccelerator:

$ Cd / tmp /
$ Wget http://bart.eaccelerator.net/source/0.9.6.1/
eaccelerator-0.9.6.1.tar.bz2
$ Tar xvjf eaccelerator-0.9.6.1.tar.bz2
$ Cd eaccelerator-0.9.6.1
$ Phpize
$ ./configure –enable-Eaccelerator = shared
$ Make
$ Sudo make install

Sozdaem directory for cache storage:

$ Sudo mkdir -p / var / cache / eaccelerator
$ Sudo chmod 0777 / var / cache / eaccelerator
And, Finally, podklyuchaem k eAccelerator PHP (add to the beginning of the file):
# Vi /etc/php5/apache2/php.ini
[PHP]
, Podklyuchaem Expansion
extension = “eaccelerator.so”
eaccelerator.enable = “1”
, Download size limit of disk cache (MB)
eaccelerator.shm_size = “64”
, Directory for cache storage
eaccelerator.cache_dir = “/ var / cache / eaccelerator”
, Includes optymyzator of code
eaccelerator.optimizer = “1”
, Modyfytsyrovannыe recompile scripts
eaccelerator.check_mtime = “1”
, Otklyuchaem Debugging Mode
eaccelerator.debug = “0”
, All cache files (Empty filter)
eaccelerator.filter = “”
, Neohranychennыy Size of cache memory
eaccelerator.shm_max = “0”
, In cases of absence place in the cache Delete Objects over
1 hour (3600 seconds)
eaccelerator.shm_ttl = “3600”
eaccelerator.shm_prune_period = “0”
, Data in cache and memory, and on disk
eaccelerator.shm_only = “0”
, Szhymat kэshyrovannыe Data with maksymalnыm urovnem kompressyy
eaccelerator.compress = “1”
eaccelerator.compress_level = “9”

Installing APC

Article at the following address: http://phpcoder.ws/2009-02/apc-setup.html

Installing APC

Proverka install APC

First, something Provera stitching Downloads Expansion extension = apc.so Indeed has registered in php.ini (Or apc.ini file was created with эtoy strochkoy in the folder C konfyhamy rasshyrenyy php – zavysyt here vasheho distribution. For Debian, for example, эtoy papkoy Will /etc/php5/apache2/conf.d/

General info about APC

General info about APC
Details on APC

Details on APC
Information about the host

Information about the host
Zamerы Changes proyzvodytelnosty

For proverky bыla vыbrana CMS Joomla1.5.9 with demonstratsyonnыm set of data after installation and template design with Default. In Testing proyzvodytelnosty in aid Utilities ab2 (It would Invalid drawn 1000 K importantly Site pages 5 streaming) velocity generation pages uvelychylas 40%
Disadvantages APC

Objectivity Council otmechu and disadvantages APC …

* FastCGI support is absent
* Keshyrovanye is working only with the module apache mod_php (in cli mode uskorenyya will not be)
* Works with versions of PHP & lt; = 5.2 C version 5.3 otmechayutsya Problems and something kasaetsya 6.0 – sovsem future uncertain. Perhaps some kind Mechanism keshyrovanyya Will yntehryrovan in the same core …

Conclusion

In my opinion worth it to establish APC svoem web server and poprobovat – podoydet Do Ono ymenno you. Despite a number opysannыh Above restricted APC is believed most of nadezhnыm troika osnovnыh realyzatsyy keshyrovanyya for language PHP …

© 2011 – 2014, https:. Все права защищены. Rudyuk Sergey. К2®

Оптимизация веб-сервера

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

1. Оптимизация CMS-системы.

Как было показано опытами, которые я проводил несколько лет назад, наибольшая скорость загрузки и пропускная система – в статических файлов. Скорость cms-систем и статических файлов отличается в 1000-10 000 раз. Причем, это еще сильней сказывается при применении системы веб NGinx.

Зная это, я переработал систему кеширования в нашей cms-системе Корпорация 2 таким образом, чтоб генерировался статический сайт из динамического содержимого. Это дало значимый прирост скорости и значительное уменьшение нагрузки на сервере.

2. Оптимизация работы веб-сервера. Связка Apache-Nginx.

Мы давно практикуем систему 2-х уровневого веб-сервера. Эта система дает устойчивость к большому количеству посещений, и как результат – скорость работы веб-сервера.
3. Оптимизация работы базы данных. Связка PostgreSQL-PGBouncer.

Связка в которой многие забывают, но которая просто необходима при большом количестве работающих пользователей в online. Эта связка прекрасно себя проявила и сейчас реально у нас реально выдерживается более 500 пользователей в online. Причем, есть возможность выдерживать еще гораздо большие нагрузки!
4. Оптимизация работы с файлами Nginx.

Если не правильно настроить Nginx, то он будет загружать НЕ нужной работой Apache. Поэтому, мы настроил Nginx так, чтоб он как можно реже переводил управление на Apache. В идеале – работая вообще без Apache!

5. Системы кеширования PHP. Остановились на xCache.

Значительное время веб тратится на компиляции PHP-кода. Поэтому, я решил установить систему кеширования PHP-кода. Рассматривая ряд вариантов остановился на xCache. Но, ниже дам выдержки из статей для настройки нескольких разных систем кеширования php-кода. Может, в деяких случаях, они будут более эффективны …

По настройке админки xcache, советую прочитать документацию: http://xcache.lighttpd.net/wiki/InstallAdministration

Установка и настройка xCache

cd / usr / ports / www / xcache /
make install clean

При установке доступен диалог настройки сборки, с Единственным пунктом Enable code coverage dumper, по умолчанию она включена и служит для определения.предотвращения переполнения памяти.
По окончании установки, нужно скопировать файл настройки xcache.ini в / usr / local / etc / php /:

cp /usr/local/share/examples/xcache/xcache.ini / usr / local / etc / php /

и немного исправить.
У меня получился такой файл настроек:

[xcache-common]
extension = xcache.so
# Включить админ интерфейс
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = “admin”
# В качестве пароля Укажем md5 хэш, создать его можно с
# Помощью команды md5 -s “ваш пароль”
xcache.admin.pass = “XXXXXX”
[xcache]
# Выделим для кэша 128 мегабайт
xcache.count = 1
xcache.ttl = 0
xcache.var_size = 0M
xcache.var_slots = 8K
xcache.var_maxttl = 0
xcache.test = Off
xcache.mmap_path = “/ dev / zero”
xcache.cacher = On
xcache.optimizer = On
[xcache.coverager]
xcache.coveragedump_directory = “”
Настройка самого XCache закончена, остается сделать доступным админ интерфейс. Для этого я в себя скопировал / usr / local / share / examples / xcache / admin в документ рут своего вебсервера www.hilik.org.ua
Конечно через этот интерфейс доступна только статистика, но все равно, это полезная функция.

Установка Eaccelerator

Пакета eAccelerator имеется в репозитории популярных дистрибутивов, поэтому его придется собрать самостоятельно. Сначала Устанавливаем Необходимые для сборки утилиты:
$ Sudo apt-get install php5-dev build-essential
Далее получаем исходные тексты eAccelerator:
$ Cd / tmp /
eaccelerator-0.9.6.1.tar.bz2
$ Cd eaccelerator-0.9.6.1
$ ./configure –enable-Eaccelerator = shared
$ Sudo make install
Создаем каталог хранения кэша:
$ Sudo mkdir -p / var / cache / eaccelerator
И, наконец, подключаете eAccelerator к PHP (добавить в начало файла):
[PHP]
extension = “eaccelerator.so”
; Максимальный размер дискового кэша (Мб)
; Каталог хранения кэша
; Включаем оптимизатор кода
; Перекомпилировать модифицированные скрипты
; Отключайте режим отладки
; Кэшировать все файлы (пустой фильтр)
; Неограниченный размер кэша в памяти
; В случае отсутствия места в кэше удалять объекты старше
eaccelerator.shm_ttl = “3600”
eaccelerator.shm_only = “0”
eaccelerator.compress = “1”

Статья по адресу: http://phpcoder.ws/2009-02/apc-setup.html

Установка APC
Проверка установки APC

Замеры изменения производительности

* Отсутствует поддержка FastCGI

По-моему стоит установить APC на своем веб-сервере и попробовать – подойдет ли оно именно вам. Несмотря на ряд описанных выше ограничений APC считается Наиболее надежным из тройки основных реализаций кеширования для языка PHP …

© 2011 – 2015, https:. Все права защищены. Rudyuk Sergey. К2®

Оптимизация веб-сервера

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

1. Оптимизация CMS-системы.

Как было показано опытами, которые я проводил несколько лет назад, наибольшая скорость загрузки и пропускная система – у статических файлов. Скорость cms-систем и статических файлов отличается в 1000-10 000 раз. Причем, это еще сильней сказывается при применении системы веб-сервера NGinx.

Зная это, я переработал систему кеширования в нашей cms-системе Корпорация 2 таким образом, чтоб генерировался статический сайт из динамического содержимого. Это дало значительный прирост скорости и значительное уменьшение нагрузки на сервере.

2. Оптимизация работы веб-сервера. Связка Apache-Nginx.

Мы давно практикуем систему 2-х уровневого веб-сервера. Эта система дает устойчивость к большому количеству посещений, и как результат – скорость работы веб-сервера.
3. Оптимизация работы базы данных. Связка PostgreSQL-PGBouncer.

Связка о которой многие забывают, но которая просто необходима при большом количестве работающих пользователей в online. Эта связка прекрасно себя проявила и сейчас реально у нас реально выдерживается более 500 пользователей в online. Причем, есть возможность выдерживать еще гораздо большие нагрузки!
4. Оптимизация работы с файлами Nginx.

Если не правильно настроить Nginx, то он будет загружать не нужной работой Apache. Поэтому, мы настроили Nginx так, чтоб он как можно реже переводил управление на Apache. В идеале – работая вообще без Apache!

5. Системы кеширования PHP. Остановились на xCache.

Значительное время веб-сервера тратится на компиляцию PHP-кода. Поэтому, я решил установить систему кеширования PHP-кода. Рассматривая ряд вариантов остановился на xCache. Но, ниже дам выдержки из статей для настройки нескольких разных систем кеширования php-кода. Может, в некоторых случаях, они будут более эффективны…

По настройке админки xcache, советую прочитать документацию: http://xcache.lighttpd.net/wiki/InstallAdministration

Установка и настройка xCache

Оптимизация работы вебсерверов, ускорение их работы тема очень интересная, возможности развернуться в этой области предостаточно, инструментов тоже хватает. XCache относится к средствам ускорения работы PHP. Устанавливается XCache как дополнительный модуль PHP и служит для кеширования результатов выполнения скриптов в шаред мемори. По сравнению с eAccelerator, XCache показывает более ощутимые результаты, но в проектах, где объемы кеша очень большие – не совсем подходит. Все таки оперативная память не бесконечна. Установим XCache из портов:

cd /usr/ports/www/xcache/
make install clean

При установке доступен диалог настройки сборки, с единственным пунктом Enable code coverage dumper, по умолчанию она включена и служит для определения.предотвращения переполнения памяти.
По окончании установки, нужно скопировать файл настройки xcache.ini в /usr/local/etc/php/:

cp /usr/local/share/examples/xcache/xcache.ini /usr/local/etc/php/

и немного исправить.
У меня получился такой файл настроек:

[xcache-common]
extension = xcache.so
#Включим админ интерфейс
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = “admin”
#В качестве пароля укажем md5 хеш, создать его можно с
#помощью команды md5 -s “ваш пароль”
xcache.admin.pass = “XXXXXX”

[xcache]
xcache.shm_scheme = “mmap”
#Выделим для кеша 128 мегабайт
xcache.size = 128M
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 0M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = “/dev/zero”
xcache.coredump_directory = “”
xcache.cacher = On
xcache.stat = On
xcache.optimizer = On

[xcache.coverager]
xcache.coverager = On
xcache.coveragedump_directory = “”

Настройка самого XCache закончена, остается сделать доступным админ интерфейс. Для этого я у себя скопировал /usr/local/share/examples/xcache/admin в документ рут своего вебсервера www.hilik.org.ua
После этого админ интерфейс станет доступным по URL http://www.hilik.org.ua/admin/
Конечно через этот интерфейс доступна только статистика, но все равно, это полезная функция.
Да и авторизация определена вами в xcache.ini.

Взято на сайте http://www.hilik.org.ua
Установка Eaccelerator

PHP — язык интерпретируемый. Это значит, что каждый раз, когда происходит вызов скрипта на этом языке, запускается PHP-интерпретатор, который проводит полный анализ исходного кода. Причем, если спустя секунду произойдет второй запуск того же скрипта, вся процедура будет повторена заново. Это нерациональное использование ресурсов, поэтому мы применим инструмент под названием eAccelerator, который скомпилирует исходные тексты PHP в двоичное представление, оптимизирует их и будет бережно хранить в оперативной памяти для более быстрого доступа. Благодаря только этому скорость обработки PHP-скриптов вырастет в десятки раз (подтверждено тестами).

Пакета eAccelerator нет в репозиториях популярных дистрибутивов, поэтому его придется собрать самостоятельно. Сначала устанавливаем необходимые для сборки утилиты:

$ sudo apt-get install php5-dev build-essential

Далее получаем исходные тексты eAccelerator:

$ cd /tmp/
$ wget http://bart.eaccelerator.net/source/0.9.6.1/
eaccelerator-0.9.6.1.tar.bz2
$ tar xvjf eaccelerator-0.9.6.1.tar.bz2
$ cd eaccelerator-0.9.6.1
$ phpize
$ ./configure –enable-eaccelerator=shared
$ make
$ sudo make install

Создаем каталог для хранения кэша:

$ sudo mkdir -p /var/cache/eaccelerator
$ sudo chmod 0777 /var/cache/eaccelerator
И, наконец, подключаем eAccelerator к PHP (добавить в начало файла):
# vi /etc/php5/apache2/php.ini
[PHP]
; Подключаем расширение
extension = “eaccelerator.so”
eaccelerator.enable = “1”
; Максимальный размер дискового кэша (Мб)
eaccelerator.shm_size = “64”
; Каталог для хранения кэша
eaccelerator.cache_dir = “/var/cache/eaccelerator”
; Включаем оптимизатор кода
eaccelerator.optimizer = “1”
; Перекомпилировать модифицированные скрипты
eaccelerator.check_mtime = “1”
; Отключаем режим отладки
eaccelerator.debug = “0”
; Кэшировать все файлы (пустой фильтр)
eaccelerator.filter = “”
; Неограниченный размер кэша в памяти
eaccelerator.shm_max = “0”
; В случае отсутствия места в кэше удалять объекты старше
1 часа (3600 секунд)
eaccelerator.shm_ttl = “3600”
eaccelerator.shm_prune_period = “0”
; Кэшировать данные и в памяти, и на диске
eaccelerator.shm_only = “0”
; Сжимать кэшированные данные с максимальным уровнем компрессии
eaccelerator.compress = “1”
eaccelerator.compress_level = “9”

Установка APC

Статья по адресу: http://phpcoder.ws/2009-02/apc-setup.html

APC (Alternative PHP Caching – это Альтернативный ПХП Кешер, руководство по использованию на английском языке). Входит в число трех наиболее популярных способов кеширования опкодов для выполненных php скриптов. Его ближайшими конкурентами являются XCache и eAccelerator. О последнем я уже писал недавно на этом блоге, а статья об XCache, который имеет несколько очень существенных преимуществ перед конкурентами, будет опубликована здесь в ближайшее время. Короче говоря, APC это еще один способ повысить быстродействие вашего сайта в том случае если он расположен на вашем сервере, вы являетесь админом своего хостинга и вас волнуют вопросы быстродействия размещенных на нем сайтов…

Установка APC

Одним из основных преимуществ APC является его простота установки. Если вы являетесь пользователем Debian/Ubuntu, то вполне вероятно что для установки вам будет достаточно набрать в консоли команду sudo aptitude install php-apc или установить этот пакет через synaptic. Если вы используете другой дистрибутив, или по какой-то причине не можете установить “родной” deb-пакет, то у вас есть другой путь – установка из PECL. Для этого нужно набрать команду: sudo pecl install apc, которая скачает нужные архивы из сети, распакует, откомпилирует и установит полученный файл apc.so в нужную директорию.
Проверка установки APC

Во-первых, проверьте что строчка загрузки расширения extension=apc.so действительно прописалась в php.ini (или создан файл apc.ini с этой строчкой в папке с конфигами расширений php – зависит от вашего дистрибутива. Для Debian, например, этой папкой будет /etc/php5/apache2/conf.d/

Если строчка успешно найдена/добавлена, то перезапускаем сервер apache и переходим к проверке самого расширения. Для этого находим папку в которую было установлено расширение. В этой папке будет лежать файл apc.php (файл так же можно взять в архиве установки), копируем его в public директорию любого из сайтов на этом веб-сервере и заходим браузером по адресу http://сайт/apc.php. Если расширение было установлено корректно, то вы увидите на загруженной странице статистику по APC (скриншоты приведены ниже).
Общая информация об APC

Общая информация об APC
Подробная информация об APC

Подробная информация об APC
Информация о хосте

Информация о хосте
Замеры изменения производительности

Для проверки была выбрана CMS Joomla1.5.9 с демонстрационным набором данных после установки и с шаблоном дизайна по умолчанию. При тестировании производительности при помощи утилиты ab2 (было выполнено 1000 обращений к главной странице сайта в 5 потоков) скорость генерации страниц увеличилась на 40%
Недостатки APC

Объективности ради отмечу и недостатки APC…

* отсутствует поддержка FastCGI
* кеширование работает только с модулем apache mod_php (в режиме cli ускорения не будет)
* работает с версиями PHP<=5.2 С версией 5.3 отмечаются проблемы, а что касается 6.0 – будущее совсем туманно. Возможно какой-то механизм кеширования будет интегрирован в само ядро…

Заключение

По-моему стоит установить APC на своем веб-сервере и попробовать – подойдет ли оно именно вам. Несмотря на ряд описанных выше ограничений APC считается наиболее надежным из тройки основных реализаций кеширования для языка PHP…

© 2011 – 2015, https:. Все права защищены. Rudyuk Sergey. К2®

Translate »
Menu Title