Zabbix 2.2 верхом на nginx + php-fpm и mariadb



Хочу отметить, что эта инструкция родилась в процессе внедрения Zabbix в стенах компании Acronis.
В процессе экспертизы и проведенных мною исследований, она доказала свое право на жизнь и благополучно служит нам верой и правдой день изо дня.


Перед нами стоит нетривиальная задача, добиться максимальной производительности известной системы мониторинга zabbix.
Среди многих статей в интернете, есть много описаний типовых установок этой системы. Я подробно опишу, как заставить работать zabbix быстрее.
В качестве базовой системы я буду использовать CentOS 6.4. Так же как и многие я люблю Debian, Gentoo и все остальные дистрибутивы, но эта статья именно для CentOS.

Все что нужно делать я распишу подробно и шаг за шагом, и начнем с базовой настройки нашего CentOS


# Выключаем SELINUX
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# Настраиваем часовой пояс
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

# Запускаем синхронизацию времени
yum install ntp -y
chkconfig ntpd on
/etc/init.d/ntpd stop
ntpdate 0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org 3.ru.pool.ntp.org
/etc/init.d/ntpd start


# Устанавливаем вспомогательные компоненты
yum install wget nano wget ntpdate -y

# Эти репозитории должны быть, очень много пакетов что нет в базовых репозиториях, мы найдем тут
wget dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
rm *.rpm -f


# Этот репозиторий нам пригодится но мы его выключим по умолчанию
rpm --import dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
cd /tmp
wget dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm && rpm -ivh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm


# Выключаем, будем использовать через --enablerepo=rpmforge
sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo

# А вот это жемчужина для web систем и не только, тут действительно есть очень много того, что нужно администратору в своей работе. MustHave
wget -q -O - www.atomicorp.com/installers/atomic | sh

# Ставим полезный софт
yum install nano mc screen sudo nscd htop ntp zip unzip pigz iotop sysstat lsof strace atop multitail -y
yum --enablerepo=rpmforge install htop -y

# Обновляем систему
yum update -y

Теперь перейдем к установке самого zabbix и требуемых ему компонентов:

SERVER

# Установим официальный репозиторий zabbix для centos
rpm -ivh repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

# Убиваем все старые компоненты MySQL, Это удалит MySQL!
yum remove php-* mysql-* MariaDB-* -y

# Устанавливаем mariadb из репозитория atomic
yum install mariadb-server mariadb-devel mariadb-client -y

# Устанавливаем много компонентов и модулей которые нужны для работы zabbix
yum install ntp php php-mysql php-mbstring php-mcrypt rpm-build gcc mariadb-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel php-fpm php-cli php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc hp-magpierss php-snmp php-tidy spawn-fcgi openssl perl-TimeDate webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder perl-TimeDate libevent-devel php-pecl-memcache nginx cronie cronie-anacron crontabs postfix sysstat -y


# Устанавливаем сам zabbix
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent


# Настраиваем MariaDB, нужно привести ее конфиг к такому виду (эти конфиг расчитан на 16ГБ ОЗУ на сервере)
[root@zabbix ~] nano /etc/my.cnf


[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
default_storage_engine=InnoDB
innodb_file_per_table = 1

#
#
# network
connect_timeout = 60
wait_timeout = 28800
max_connections = 200
max_allowed_packet = 512M
max_connect_errors = 1000

# limits
tmp_table_size = 512M
max_heap_table_size = 256M
table_cache = 1024

# logs
log_error = /var/log/mysql/mysql-error.log
#slow_query_log_file = /var/log/mysql/mysql-slow.log
#slow_query_log = 1
#long_query_time = 20

# innodb
default_storage_engine=InnoDB
innodb_file_per_table = 1
innodb_status_file = 1
innodb_additional_mem_pool_size = 128M
innodb_buffer_pool_size = 12G # Значение этого параметра должно быть не более 60% от объема ОЗУ на сервере
innodb_flush_method = O_DIRECT
innodb_io_capacity = 2000
innodb_flush_log_at_trx_commit = 2
innodb_support_xa = 0
innodb_log_buffer_size = 128M

# experimental
innodb_stats_update_need_lock = 0

# other stuff
event_scheduler = 1
query_cache_type = 0
query_cache_size = 536870912
join_buffer_size=1M
query_cache_limit=2M
sort_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=4M
key_buffer = 256M
key_buffer_size=64M
open_files_limit = 100000
thread_cache_size = 100

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d


# Добавляем mysql в автозагрузку
chkconfig mysqld on && /etc/init.d/mysqld restart

# Добавляем php-fpm в автозагрузку
chkconfig --levels 235 php-fpm on
/etc/init.d/php-fpm start


# Удаляем конфиги по умолчанию nginx
rm /etc/nginx/conf.d/default.conf -f
rm /etc/nginx/conf.d/virtual.conf -f

# Создаем базу zabbix
mysql -e 'CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;'
mysql -e 'grant all privileges on zabbix.* to zabbix@localhost identified by «9c9yUiUuros»;'
mysql -e 'flush privileges;'


# Заливаем стандартные схемы для базы zabbix
mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.2.0/create/schema.sql
mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.2.0/create/images.sql
mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.2.0/create/data.sql


# Добавляем правила iptables
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 10050 -j ACCEPT
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 10051 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
service iptables save


# Внесем обязательные изменения в конфигурацию php
[root@zabbix ~] nano /etc/php.ini


post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Europe/Moscow


# Приведем конфигурациию zabbix к следующему виду:
egrep -v '^#|^$' /etc/zabbix/zabbix_server.conf

[root@zabbix ~] nano /etc/zabbix/zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=zabbix
DBUser=zabbix
DBPassword=9c9yUiUuros
DBSocket=/var/lib/mysql/mysql.sock
SNMPTrapperFile=/var/log/snmptt/snmptt.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts


# Добавляем сервер zabbix в автозагрузку
chkconfig zabbix-server on

# Немного изменим стандартную конфигурацию nginx, приведем конфиг к такому виду:
[root@zabbix ~] nano /etc/nginx/nginx.conf

user nginx;
worker_processes 10;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
use epoll;

multi_accept on;

}

error_log /var/log/nginx/error.log warn;

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

log_format main '$remote_addr — $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

connection_pool_size 256;
client_header_buffer_size 4k;
client_max_body_size 100m;
large_client_header_buffers 8 8k;
request_pool_size 4k;
output_buffers 1 32k;
postpone_output 1460;
proxy_max_temp_file_size 0;
gzip on;
gzip_min_length 1024;
gzip_proxied any;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json;
gzip_comp_level 8;
gzip_disable «MSIE [1-6]\.(?!.*SV1)»;

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 75 20;
server_names_hash_max_size 8192;
ignore_invalid_headers on;
server_name_in_redirect off;

proxy_buffer_size 8k;
proxy_buffers 32 4k;
proxy_connect_timeout 1000;
proxy_read_timeout 12000;
proxy_send_timeout 12000;
proxy_cache_path /var/cache/nginx levels=2 keys_zone=pagecache:5m inactive=10m max_size=50m;
real_ip_header X-Real-IP;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

allow all;

include /etc/nginx/conf.d/*.conf;
}


# Настраиваем nginx на работу с zabbix и php-fpm
[root@zabbix ~]# nano /etc/nginx/conf.d/zabbix.conf

server {
listen 80;
server_name имя;
server_name другое имя;

location / {
root /usr/share/zabbix;
index index.php index.html index.htm;
}

location ~ \.php$ {
root /usr/share/zabbix;
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}

server {
listen 80;
server_name _;

location / {
root /usr/share/zabbix;
index index.php index.html index.htm;
}

location ~ \.php$ {
root /usr/share/zabbix;
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}


# Убираем из автозагрузки apache
chkconfig --levels 235 httpd off
/etc/init.d/httpd stop


# Добавляем nginx в автозагрузку
chkconfig --levels 235 nginx on
/etc/init.d/nginx start


Вот таким простым методом, мы получаем высокопроизводительную установку zabbix.

Статья была бы не полной, если бы я не сказал об установке zabbix-proxy и zabbix-agent, предполагается что шаги базовой настройки системы (в самом начале статьи) мы уже прошли


PROXY

# Установим официальный репозиторий zabbix для centos
rpm -ivh repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-release-2.0-1.el6.noarch.rpm

# Удаляем старый софт
yum remove zabbix-proxy-* -y
yum remove mysql* mysql-*


# Устанавливаем mariadb из репозитория atomic
yum install mariadb-server mariadb-devel mariadb-client -y

# После удаления компонентов mysql, могли удалиться важные компоненты
yum install -y cronie cronie-anacron crontabs postfix sysstat

# Собственно сам zabbix из официального репозитория
yum install zabbix zabbix-agent zabbix-proxy-mysql zabbix-proxy -y

Рассмотрим случай, что zabbix-proxy нужно поставить на чем то другом, например fedora 14

mkdir /root/zabbix && cd /root/zabbix
wget repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-2.0.9-1.el6.x86_64.rpm
wget repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-agent-2.0.9-1.el6.x86_64.rpm
wget repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-proxy-2.0.9-1.el6.x86_64.rpm
wget repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-proxy-mysql-2.0.9-1.el6.x86_64.rpm
wget repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-get-2.0.9-1.el6.x86_64.rpm
rpm -Uhv *.rpm


# Настраиваем MariaDB, нужно добавить параметры
[root@zabbix ~] nano /etc/my.cnf


default_storage_engine=InnoDB
innodb_file_per_table = 1


# Добавляем zabbix в автозагрузку
chkconfig zabbix-proxy on
chkconfig zabbix-agent on
chkconfig mysqld on && /etc/init.d/mysqld start


# Создаем базу
mysql -e 'CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;'
mysql -e 'grant all privileges on zabbix.* to zabbix@localhost identified by «lNZrKeZASv0L»;'
mysql -e 'flush privileges;'


# Заливаем стандартные схемы для базы zabbix
mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.0.9/create/schema.sql
mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.0.9/create/images.sql


# Добавляем правила iptables
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 10050 -j ACCEPT
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 10051 -j ACCEPT
service iptables save


# Настраиваем сам zabbix-proxy
sed -i «s/^Server=.*/Server=адрес-сервера-zabbix/g» /etc/zabbix/zabbix_proxy.conf
sed -i «s/^Hostname=.*/Hostname=имя-этого-прокси-который-указали-zabbix-server/g» /etc/zabbix/zabbix_proxy.conf
sed -i «s/^DBName=.*/DBName=zabbix/g» /etc/zabbix/zabbix_proxy.conf
echo ProxyMode=0 >> /etc/zabbix/zabbix_proxy.conf
echo ProxyLocalBuffer=1 >> /etc/zabbix/zabbix_proxy.conf
echo ProxyLocalBuffer=ProxyOfflineBuffer=100 >> /etc/zabbix/zabbix_proxy.conf
echo HousekeepingFrequency=1r=100 >> /etc/zabbix/zabbix_proxy.conf
echo DataSenderFrequency=300 >> /etc/zabbix/zabbix_proxy.conf
echo StartPollers=5 >> /etc/zabbix/zabbix_proxy.conf
echo StartIPMIPollers=1 >> /etc/zabbix/zabbix_proxy.conf
echo StartPollersUnreachable=1 >> /etc/zabbix/zabbix_proxy.conf
echo StartTrappers=5 >> /etc/zabbix/zabbix_proxy.conf
echo StartHTTPPollers=1 >> /etc/zabbix/zabbix_proxy.conf
echo StartDBSyncers=4 >> /etc/zabbix/zabbix_proxy.conf
echo Timeout=10 >> /etc/zabbix/zabbix_proxy.conf
echo FpingLocation=/usr/sbin/fping >> /etc/zabbix/zabbix_proxy.conf
echo Fping6Location=/usr/sbin/fping6 >> /etc/zabbix/zabbix_proxy.conf
echo DebugLevel=3 >> /etc/zabbix/zabbix_proxy.conf
echo StartDiscoverers=10 >> /etc/zabbix/zabbix_proxy.conf
echo DBPassword=lNZrKeZASv0L >> /etc/zabbix/zabbix_proxy.conf


# Проверяем конфигурационный файл zabbix-proxy
egrep -v '^#|^$' /etc/zabbix/zabbix_proxy.conf

# Поехали
/etc/init.d/zabbix-proxy start


AGENT, очевидно мы будем его разворачивать через chef или puppet но для полноты материала

# Установим официальный репозиторий zabbix для centos
rpm -ivh repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-release-2.0-1.el6.noarch.rpm

# Устанавливаем агента из официального репозитория
yum install zabbix zabbix-agent -y

или если у Вас не очень свежая fedora
rpm -Uhv repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-2.0.9-1.el6.x86_64.rpm

# Даем пользователю zabbix права sudo и создаем папки для наших будущих скриптов
usermod -s /bin/bash zabbix
echo 'zabbix ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
sed -i 's/Defaults\ requiretty/#Defaults\ requiretty/g' /etc/sudoers
mkdir /etc/zabbix/scripts/
chmod 750 /etc/zabbix/scripts/


# Добавляем zabbix-agent в автозагрузку
chkconfig zabbix-agent on

# Добавляем правила iptables
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 10050 -j ACCEPT
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 10051 -j ACCEPT
service iptables save


# Настраиваем нашего zabbix-agent
sed -i «s/^Server=.*/Server=адрес-zabbix-sever-или-proxy/g» /etc/zabbix/zabbix_agentd.conf
sed -i «s/^ServerActive=.*/ServerActive=адрес-zabbix-sever-или-proxy/g» /etc/zabbix/zabbix_agentd.conf
sed -i «s/^Hostname=.*/Hostname=`hostname`/g» /etc/zabbix/zabbix_agentd.conf
echo EnableRemoteCommands=1 >> /etc/zabbix/zabbix_agentd.conf
echo LogRemoteCommands=1 >> /etc/zabbix/zabbix_agentd.conf
echo Timeout=30 >> /etc/zabbix/zabbix_agentd.conf


# Готово, наблюдаем логи
/etc/init.d/zabbix-agent restart && tail -f -n 100 /var/log/zabbix/zabbix_*.log

Спасибо за Ваше внимание, если Вы сочтете этот материал интересным, то я буду рад поделиться еще многим и многим!

HAPRoxy для Percona или Galera на CentOS. Его настройка и мониторинг в Zabbix
Acronis
171.15
Company
Share post

Comments 117

    0
    Все конечно отлично, но мало того что инструкция step-by-step, так еще и не видно где и что мы выигрываем в производительности.
    Ну и хотелось бы тестов на одних и тех же данных до и после.
      0
      Думаю сделать отдельную статью на тему оценки производительности php-fpm+nginx+mariadb vs apache2+mod_php+mysql5.5
        0
        У нас используется заббикс по умолчанию, все пакеты из стандартных реп CentOS + EPEL.
        Количество данных не очень большое

        полет нормальный, кроме некоторых проверок по snmp некоторых устройств, виснут проверки и так и висят в очереди.
          0
          количество unsupported items не напрягает?
            0
            Очень может зависеть от шаблонов. Особенно там, где шаблоны охватывают более общие параметры, которых может не быть в частных конфигурациях клиентов. Так что зачастую совсем не проблема.
          0
          А потом придет большой и страшный postgresql и скинет мускуль с пьедестала. Собственно, я не похоливарить хочу, у меня был zabbix на ~15k устройств, у нас ушло под пару сотен человеко-часов на оптимизацию мускуля, и ~15 человеко-часов на переезд на постгрес, настройку failover и выпуск в продакшн. После чего (уже без меня) количество устройств выросло примерно вдвое, но все крутится на том же железе и справляется с нагрузкой с запасом.
            0
            Довольно таки странно.
            Даже на форумах заббикса очень многие уходит от постгреса, т.к. он медленнее оказывает чем мускул.
            Не ради холивара.
              +2
              Любопытно, и странно.
              В то время мы видели выход в вертикальном масштабировании системы и попробовали postgresql ради чистоты совести, потому что была свободна аналогичная железная конфигурация.
              В рамках нашей базы данных для заббикса, мы уже стояли на грани граблей шардинга (база была >500Гб), обновление или перезагрузка мускуля (все было в innodb, двигло percona 5.1) выливалась в 10-20 минут простоя, что не допустимо. Ну и, соответственно, качество работы failover в мускуле, да еще и с шардингом — это весело! Также у сервака заббикса росли очереди на запись данных в БД, чтение данных для аналитики было, мягко говоря не быстрым. После перехода на постгрес (причем тюнили, по началу, каким-то перловым скриптом из поставки), у нас пропала потребность шардить, очередь на запись в БД не превышала дельты времени в минуту (при мускуле до 8-10 минут доходило, кроме анализа tmp-данных, мы делали тесты на простом пинге, и смотрели, когда придет уведомление), чтение данных для уведомлений, графиков стало, если не быстрым, то приемлемым.

              PS Железка для БД была, что-то вроде HP BL460g5 (или g6), с двумя топовыми (на момент покупки 2011 год) камнями, памяти было 32Гб. Все это дело стучалось по оптике(SAN) в слабонагруженную полку с 15К SAS дисками, собранными в raid 1+0.

              PPS ребята с той компании прислали информацию: сейчас примерно 32k устройств (компы/сервера, софт, сетевые девайсы), база ~1,2 Тб, живут на том же блейде, у БД две головы master-slave, pgpool. Довольны, критичных тормозов не замечено.
                0
                Ну, к примеру, между 5.1 и 5.6 существенные изменения в производительности, в лучшую сторону.
                  0
                  Все относительно. :) Сейчас у меня percona 5.6 для веб-проекта, но я активно лоббирую переход на postgresql. А тогда, был или секс с оптимизацией и шардингом мускуля (percona 5.1), или posgresql 9.1.

                  Исходя из текущего опыта работы, для базы больше 10 Гб я постараюсь изначально заложить posgresql (и лучше работает с большими объемами, и лучше failover, и master-master с меньшими потерями производительности).
                    0
                    и master-master с меньшими потерями производительности

                    А можно тут поподробнее? Интересует как ныне обстоят с этим дела? Потому как погуглив по интернетам для кластеризации pg находится парочка невнятных сторонних костылей, не более того. Или я что-то пропустил? Какие есть родные средства для multi-master HA кластера?
                      0
                      Я краем глаза смотрел на ЭТО, и я сравнивал с percona master-master который у меня тогда работал. Знакомцы у меня на Slony работают и не жалуются.

                      0
                      Вы зря рассчитываете на постгрес для заббикса. Прочтите что рассказывает консультант по постгресу:
                      www.zabbix.com/img/zabconf2013/presentations/Which_Database_is_Better_for_Zabbix.pdf
                        0
                        Там в конце выводы:
                        — PostgreSQL и MySQL имеют почти одинаковую производительность.
                        — Важно настроить базы на производительность.
                        — MySQL адекватней расходует цпу чем PostgreSQL. (PostgreSQL поддерживает внешние ключи в партициях)
                        — PostgreSQL более стабилен в проблемных ситуациях с IO.

                        И где тут что-то плохо пишут про PostgreSQL? Как по мне он отлично справляется, кое где хуже, кое где лучше MySQL.
          0
          Отличная статья, не так давно мне ее очень не хватало. Но по ряду причин, и слава богу, я избавился от zabbix в своем курятнике :)
            0
            что используете вместо zabbix?
              0
              У меня сейчас нет сетевого железа для мониторинга, но нужно мониторить много софта. Поэтому путем проб и ошибок остановились на munin+monit. Возможно добавлю nagios/icinga.
                0
                Про monit не знал, попробую. Спасибо
                  0
                  Пожалуйста. Если что, помогу с настройками.
            +4
            >Выключаем SELINUX

            Ну когда это прекратится-то!

            stopdisablingselinux.com/

            >yum install wget nano wget ntpdate -y

            >ntpdate is slowly being depricated
            fedoraproject.org/wiki/Changes/ntpdate

            >iptables -A INPUT -p tcp -m state --state NEW
            Obsolete extensions:
            • -m state: replaced by -m conntrack

            inai.de/documents/Perfect_Ruleset.pdf

              –2
              Спасибо большое, я учту это в будущем
              0
              [Warning] option 'thread_cache_size': unsigned value 1073741824 adjusted to 16384
              хм, странный выбор.
              habrahabr.ru/post/159085/
                0
                Отлично! я починил это, спасибо большое!
                0
                Спасибо за статью. Справедливости ради стоит отметить, что разницы по производительности между правильно настроенными Apache и Nginx не видно даже на маломощных атомах. Что касается PostgreSQL vs MySQL (MariaDB), то мой опыт говорит о том что тут нет победителя, всё зависит от наших знаний и умения эффективно настроить ту или иную базу данных. Что точно будет медленне — Oracle.
                  0
                  Есть существенная разница в производительности между php-fpm и mod_php
                  Кроме того, при большом количество онлайн, nginx с php-pfm будет расходовать ОЗУ гораздо экономичней
                    0
                    php-fpm хорошо дружит и с Apache. За счёт чего будет экономия ОЗУ?
                      0
                      Согласен что он прекрасно дружит с apache и я использую его всегда в этой связке, где мне нужен mod_rewrite и htaccess
                      но в данном случае он совсем не нужен.

                      Цитата:
                      apache на каждого клиента создает отдельный процесс или поток, на выбор. Это создает проблемы в случае клиентов с медленными каналами, когда создаются дофига процессов/потоков, которые по факту ничего не делают, только память отжирают. Nginx использует более совершеный способ работы с сетью, когда один поток может работать с несколькими соединениями, плюс в периоды с вот такими медленными клиентами он просто спит, используя процессор по минимуму. Была хорошая статья, забыл, где, ну вот хотя бы такая www.slashroot.in/how-is-nginx-different-from-apache
                        0
                        Это актуально, когда много-много пользователей (тысячи и десятки тысяч). В случае с zabbix не требуется.
                          0
                          Все познается в сравнении, на самом деле! я думаю что nginx лучше для этой задачи чем apache2
                            0
                            В данном случае нет ни одной объективной причины упражняться с нештатными (для zabbix) конфигурациями nginx+php-fpm, вместо дефолтных apache+mod_php. Ну, кроме как поупражняться для тренировки.
                              0
                              Делая свой выбор я руководствовался не только личным опытом но и статьям подобным этой
                              blog.michaelfmcnamara.com/2012/11/apache2-mod_php-vs-nginx-php-fpm/
                              из собственного опыта скажу, страница overview.php например, в конфигурации приведенной выше, открывается примерное в 2 раза быстрее чем при работе на apache2 + mod_php
                              Если сравнивать работу php-fpm под nginx и apache2, то к контексте работы с zabbix, у последнего нет ни одного преимущества.
                                0
                                Есть более адекватные тесты, где хотя бы со знанием основ люди к делу подходят.
                                  0
                                  Мне сложно судить о том чья статья адекватнее, все сказанное основывается на моих собственных наблюдениях,
                                  впрочем, статья 2008 года про php 5.2 не вызывает у меня никакой уверенности
                                    0
                                    Ну ок, если в этой статье ты увидел только версию php, а не базовые принципы, то дальнейший разговор смысла не имеет.
                                      0
                                      Вот еще вполне убедительные цифры

                                      tokarchuk.ru/2010/11/perfomance-test-apachemod_php-vs-nginxphp5_fpm-on-zf/
                                        +1
                                        Что-то сплошной оффтопик идет. Какая нафиг разница: apache+mod_php или nginx+fastcgi?! У вас что, клиентами морды zabbix сидят 300-400 человек сразу?

                                        Вариант nginx+fastcgi скорее всего изначально будет настраивать человек, который понимает, что он делает. А остальные 90% вполне будут довольны апачем. Какой вообще смысл у вебморды системы мониторинга смотреть на ее производительность? Надо смотреть на производительность БД и каналов.
                                          0
                                          Согласен в большинстве случаев, но на очень тяжелых страницах вроде overview.php для всех устройств в zabbix, разница очень ощутима
                                            0
                                            Опять же, ИМХО, тут основная проблема в скорости работы БД, и потом уже настройки представления данных. И разница будет заметна, в первую очередь, при обилии клиентов на системе. Для одного-двух пользователей разницы большой быть не должно. Ну уже проверено это много раз. :)
                                              0
                                              У меня сейчас в среднем 25-30 пользователей онлайн, через пару месяцев это число должно увеличиться вдвое
                                                0
                                                Что вы делаете такое с zabbix`ом, что столько народу нужно туда пускать единовременно? У меня самый навороченный юзкейз был на 20 человек в 10 городах. И то при разделении прав, они у меня видели только то, что им нужно.
                                                  0
                                                  Компания у нас крупная, международная
                                                    0
                                                    Посмотри в сторону разделения областей видимости у пользователей. Я при >15k устройств (железо и ПО и сеть) не имел больших проблем с отображением и тормозами. У меня основной интерфейс крутила на nginx+fastcgi, а тестовый на апаче с mod_php. Ни там ни там я большой разницы не замечал.
                                                0
                                                  0
                                                  Был не прав! :) ~320k узлов — уважуха :)
                                                    0
                                                    Это ошибка вставки, всего 320
                                                      0
                                                      Меня немного посетило удивление, обычно при таких объемах сидят на чем-то коммерческом, дорогом и красивом, типа Tivoli.
                                                        0
                                                        У нас около 7000 устройств в сети, пока что добавляем по мере необходимости
                                                          0
                                                          У меня основной поток траффика создавали метрики софта и логов.
                                                            0
                                                            У нас очень много сетевого оборудования отправляет snmp и есть фермы серверов на которых много дисков, по ним собираются все данные по iostat
                                                              0
                                                              в моем варианте это было ~25-30% данных.
                                                                0
                                                                Так или иначе, nginx+php-fpm+mariadb работает нормально для меня, но скоро мы переезжаем на haproxy+percona вместо mariadb
                                                                  0
                                                                  Межу маришкой и перконой существенной разницы я не заметил (веб-проект, ~100 человек одновременно + статистика там же). Большого смысла менять nginx на haproxy я не вижу.
                                                                    0
                                                                    haproxy для балансировки запросов на percona,
                                                                    percona для масштабирования и отказоустойчивости,
                                                                    nginx отсанется на месте…
                                                                    вообще вот статья про haproxy habrahabr.ru/post/198448/
                                                                      0
                                                                      я понял, подумал, что haproxy для проксирования на fastcgi. Percona в master-master на галере?
                                                                        0
                                                                        Да это будет percona xtradb cluster в multi-master, но через балансировщик haproxy
                                                                          0
                                                                          Сочувствую, у меня на продакшене одно время жило такое решение.
                                                                          Ощутимое падение скорости записи, даже при условии, что серваки в одном гигабитном свиче или на виртуалки на одной железке (а тут яйца все в одной корзине). Падение одного из серверов может обрушить весь кластер (проходил в конфигурации кольца на 4 и на 5 машин). При записи на несколько нод одновременно, падение скорости вставки и чтения еще заметнее. Географически распределенный вариант не реален в принципе, если только есть своя оптика между датацентрами.

                                                                          Для меня этот опыт послужил определяющим для перехода н postgresql+pgpool.

                                                                          PS это при объемах записи куда меньших чем заббикс на 200 устройств.
                                                                            0
                                                                            Мы замеряли производительность подобных решений, кроме того, подобное решение обслуживает все наши web фермы
                                                                            вот результаты тестирования производительности кластера в режиме записи и чтения в multi-master через haproxy

                                                                            [root@rs-haproxy ~]# sysbench --num-threads=1000 --max-requests=100000
                                                                            --test=/usr/share/doc/sysbench/tests/db/oltp.lua
                                                                            --mysql-table-engine=innodb --db-driver=mysql --mysql-db=test
                                                                            --oltp-table-size=2000000 --oltp-test-mode=complex --mysql-engine-trx=yes
                                                                            --oltp-auto-inc=off --mysql-user=tester --mysql-password=tester
                                                                            --mysql-host='10.100.100.245' run
                                                                            sysbench 0.5: multi-threaded system evaluation benchmark

                                                                            Running the test with following options:
                                                                            Number of threads: 1000
                                                                            Random number generator seed is 0 and will be ignored

                                                                            Threads started!

                                                                            OLTP test statistics:
                                                                            queries performed:
                                                                            read: 1400140
                                                                            write: 400040
                                                                            other: 200020
                                                                            total: 2000200
                                                                            transactions: 100010 (614.25 per sec.)
                                                                            deadlocks: 0 (0.00 per sec.)
                                                                            read/write requests: 1800180 (11056.55 per sec.)
                                                                            other operations: 200020 (1228.51 per sec.)

                                                                            General statistics:
                                                                            total time: 162.8157s
                                                                            total number of events: 100010
                                                                            total time taken by event execution: 162356.5746s
                                                                            response time:
                                                                            min: 45.35ms
                                                                            avg: 1623.40ms
                                                                            max: 6853.35ms
                                                                            approx. 95 percentile: 2490.94ms

                                                                            Threads fairness:
                                                                            events (avg/stddev): 100.0100/1.02
                                                                            execution time (avg/stddev): 162.3566/0.65

                                                                            Для поддержания кворума, у нас есть несколько арбитраторов garbd
                                                                              0
                                                                              Я проводил у себя похожее тестрование, сейчас пишу по памяти:
                                                                              чистая перкона ~ 1000 транзакий/сек
                                                                              кластер master-master 4 машины (без арбитров) ~ 400 транз/сек
                                                                              postgresql (master-slave+pgpool) ~ 1500 транз/сек

                                                                                0
                                                                                Для нас основная не MS субд — mysql, больше реданденси мы добиваемся на multi-master percona
                                                                                да это медленее при вставках, да это рассинхрон транзакций
                                                                                но это реданденси и маштабированость
                                            0
                                            Какое крутое исследование, даже конфиги не показаны. Заслуживает доверия, безусловно.
                                              0
                                              Конфиги чего? Как кластер перконы на галере собирать? Или может просто вчитаться в документацию, где написано: что транзакция является закрытой после ее выполнения на всех узлах кластера.

                                              Чтение конфигов тут что-то изменит?
                                                0
                                                Похоже ты промахнулся комментом. Посмотри, на что я отвечаю )
                                                  0
                                                  Ну сорри тогда :)
                                            0
                                            Вот еще местное habrahabr.ru/post/79225/
                                              0
                                              потерто
                                                0
                                                Попробуй читать ссылки, перед тем как их постить.
                                                Перефразирую — nginx хорошо масштабируется. Это и призваны показать тесты с бенчмарками в сотни/тысячи запросов в секунду и с сотнями/тысячами тестовых ботов.
                                                Они это и показывают.
                                                Я же тебе пытаюсь объяснить, что при 10-20-50-100 пользователях и 5-10-20 запросов в секунду никакой разницы между apache+mod_php/apache+php-fpm/nginx+php-fpm не будет. При условии, что все настройки во всех случаях сделаны правильно, это всяким горе-блоготестерам редко под силу, максимум могут накатить все по дефолту и ab/httperf освоить.
                                                Ведь, млин, код выполняет все тот же php во всех этих вариантах, ему похрен, кто его спавнит. Та же субд в бекенде.
                                                  0
                                                  я потерял нить, о чем спор?
                                                    0
                                                    php-fpm расходует меньше памяти и работает быстрее на тяжелых php страницах вроде
                                                    overview.php, да большую часть задержки будет на работу БД, но генерация страницы это огромная работа
                                                    Например, наш overview для всех хостов и данных, создает html страницу объемом 50МБ!
                                                    Ее генерация требует более 1ГБ памяти и на mod_php это генерируется в 2 раза медленее
                                                    Это вполне конкретные цифры, речь не идет о коне в вакуме
                                                      0
                                                      Если это так в этом случае, то проблему надо искать не в mod_php, а где-нибудь в районе радиуса кривизны.
                                                      dklab.ru/chicken/nablas/49.html
                                                      www.eschrade.com/page/why-is-fastcgi-w-nginx-so-much-faster-than-apache-w-mod_php/
                                                        0
                                                        мы используем APC для кеширования опкода
                                                        по ссылке я читал, меня hello world на php не убедил
                                                          0
                                                          А «неизвестно что» убедило, понятно, ОК.
                                                            0
                                                            я повторяюсь
                                                            сравнивал в реальных условиях сам, при работе с zabbix и для хостинга сайтов
                                0
                                Так то mod_php работает быстрее fastcgi
                                  0
                                  и быстрее php-fpm?
                                    0
                                    Да
                                    а как вы хотели то, нативный модуль апача или же внешний fastcgi
                                      0
                                      мы тут на 100 сообщений уже об этом спорим
                                      я поддерживаю идею что php-fpm быстрее
                                        0
                                        Глупая идея, думаю нагуглить сравнение скорости не сложно.
                                        Как минимум присутствует сетевой оверхед tcpip для обращения к fastcgi, которого в mod_php нет.
                                        Или вы думаете что fastcgi ставят потому что он быстрее, а не меньше памяти жрет?
                                          0
                                          fastcgi можно сделать через сокет раз.
                                          два, и где большие накладные расходы при работе на 127.0.0.0
                                          и три, полюбопытствуйте в плане матчасти: habrahabr.ru/company/bitrix/blog/198540/
                                            0
                                            +5
                                              –1
                                              Что вы поддерживаете то?
                                              Что php-fpm больше оверхед чем у mod_php?
                                              0
                                              А кто говорит что большой, просто он есть и будет все работать дольше.
                                              Ну посмотрел, нигде не увидел, что накладные расходы на fastcgi стали вдруг меньше чем родной нативный mod_php
                                              Вот вам старый обзор для пруфа
                                              www.pentarh.com/wp/2008/07/11/test-results-apache-vs-php-fcgi/
                                              Мне кажется спор и яйца не стоит, ну есть оверхед в fastcgi и никуда от этого не деться.
                                                +1
                                                Оверхед mod_php в том, что он работает в пространстве апача, который очень любит треадится, и основной расход идет не на взаимодействие с сокетом или tcp, а на переключение контекста, расход памяти и организацию новых тредов. Тут уже сугубо вопрос архитектуры.

                                                Говоря по другому: пришел клиент, делается новый поток в апаче, который загружает в свой поток(и) mod_php, который потом загружает бинарник/либы, и потом в них выполняет код. Так как я глубоко тут не копал, у меня больше вопросов, чем ответов. Я не люблю пых и нигде его не использую. Но у меня есть проект на django, и мы пробовали и mod_python, и mod_wsgi, все равно ушли к варианту nginx+gunicorn, который, грубо говоря, аналогичен nginx+fastсgi мира php.
                                                  –1
                                                  Наверно вы все таки выбирали то не из за оверхеда?
                                                    0
                                                    Выбрали из-за скорости обработки клиентских запросов, загрузки памяти и IO при этом. На проц плевать, было… почти.
                                                      0
                                                      за счет исполнения кода php в конвеере php- fpm, код для всех запросов в момент времени исполняется быстрее и с меньшими накладными расходами, плюс
                                                      * Управление процессами. Возможность «плавно» останавливать и перезапускать php воркеры без потери запросов. Возможность плавно обновлять конфигурацию и binary без потери запросов;
                                                      * Ограничение ip адресов, с которых могут приходить запросы от web сервера;
                                                      * Динамическое количество процессов, в зависимости от нагрузки (TODO);
                                                      * Запуск воркеров с разными uid/gid/chroot/environment и разными php.ini опциями;
                                                      * Логирование stdout & stderr рабочих процессов;
                                                      * Аварийный перезапуск всех процессов при случайном разрушении shared memory opcode cache, если используется акселератор;
                                                      * Принудительное завершение подвисших процессов, если set_time_limit() не срабатывает (TODO);
                                                        0
                                                        Вот подтвердите хоть чем нибудь
                                                        за счет исполнения кода php в конвеере php- fpm, код для всех запросов в момент времени исполняется быстрее
                                                        или откуда вы это взяли?
                                                        Что за конвеер php-fpm?
                                                        Что за момент времени?
                                                        Выше я вам дал пруф где показано что столько то запросов апач выполнил быстрее, а php-fpm медленнее.
                                                        Вот вам статья 2013 года
                                                        phptime.ru/php-performance/perevod-pochemu-fastcgi-nginx-bystree-chem-apache-mod_php.html
                                                          0
                                                          я сегодня видел уже эту статью, она совершенно не внушает доверия
                                                            0
                                                            Ну замечания по обоим статьям:

                                                            1. «Если его нагрузить статикой, все будет намного хуже. » — то есть тест уже не реален. Смысл-то в том, что nginx проксирование и статика, а fastcgi-динамический контент. Можно сказать, что перед апачем мы поставим nginx: но вы часто видели такие решения?
                                                            2. «Для тестирования я сделал простенький скрипт «привет, мир». Почему такой простой? Потому что когда вы работаете с интерпретатором PHP, не должно быть никакой разницы в производительности. Тогда почему не сделать пустую страницу? Потому что для чистоты эксперимента необходимо обеспечить двустороннюю связь. Моей целью было проверить пропускную способность веб-сервера, а не PHP. Так что я потратил минимум времени на PHP и все внимание уделил проверке передачи данных.» — не, ну отличная синтетика!!! Респект и уважуха. Это как у меня в зале, приходит человек, весь из себя качек-кросавчик, и жмет в становой 100кг на пару раз, и прихожу я, весь из себя увалень, и жму 200 кг на раз, а соточку на десяточек.
                                                            3. все тесты исходят из того, что апач — это только слой для запуска php.

                                                            Теперь оттолкнемся от реалий, в текущей задаче стоит вопрос реального приложения, где апач будет отдавать статику, а не служить прослойкой для запуска php. Соответственно, если мы возьмем nginx(+статика)+fastcgi, и апач(+статика)+mod_php, то производительность и расход памяти связки nginx+fastcgi останется на том же уровне, а апач будет куда ниже. И разговор о CDN тут будет не уместен, так как это все равно, что поставить nginx перед апачем.
                                                              0
                                                              Так никто и не спорит про статику, там проще уж свой написать сервер, чтобы чисто статику умел и все, будет быстрее nginx
                                                                0
                                                                Извини, конечно, но ты жжешшшь!!! :)))))

                                                                Понятное дело, что ПО, которое должно угодить всем, будет не так шикарно, как разработанное под одну, конкретную, задачу. Но, опять же, о реалиях: вы часто встречали такое? Разница между nginx или lighthttpd сильно велика? сравним redis и tarantool?
                                                                  0
                                                                  Просто разговор был про скорость php.
                                                                  Ну знавал я серверы, которые статику быстрее nginx отдавали, даже у яндекса такой есть.
                                                                    0
                                                                    Мне кажется тебе уже все объяснили?
                                                                      0
                                                                      Ну так если рассуждать то и php-fpm статику отдавать не умеет, не говоря уже о производительности при отдаче статики.
                                                                      В реальных проектах никто статику не отдает через php, она лежит на каком нибудь отдельном сервере и прекрасно отдается другим вебсервером.
                                                                      Надеюсь все таки вы поняли, что php выполняется быстрее в mod_php
                                                                        0
                                                                        Еще раз повторю вопрос: Вам важно академическое исследование?
                                                                        Тогда нужно вообще мерить чистый fastcgi, так как он не выполняется в пространстве nginx, в отличии от mod_php. Или Вам важно понимать как и что работает на реальных проектах?
                                                                      0
                                                                      Я люблю реалии, вот вы в состоянии взять и написать сервер для того, что бы ваша система работала быстрее? или же вы сосредоточитесь на реализации функционала, который позволит вам зарабатывать?

                                                                      Вот когда уровень вашего проекта дойдет до N-датацентров и M-серверов, когда вы на текущих решениях начнете затыкаться, тогда можно начинать говорить о написании своего сервера.

                                                                      И соответственно: связка nginx+fastcgi быстрее в реальном применении, и тем более, когда много клиентов. Чем апач+mod_php похвастаться не может. А вот в синтетическом тесте с подогнанными условиями он выигрывает, и то максимум на 20%, что нивелируется тем, что тест синтетический.
                                                                        0
                                                                        Ох я сделал в этой жизни один крупный проект с 6 датацентрами и большим количеством серверов. и трафиком несколько десятков гигабит.
                                                                        Или скажем у меня есть клиент у которого мобильная реклама на 10 000 000 показов в день.
                                                                        Трудно попрекнуть успешного фрилансера большими проектами, да с вконтактами, фейсбуками и гуглами пока не работал, в яндекс в свое время тоже не взяли(кстати козлы 8)).
                                                                          0
                                                                          Круто! но php-fpm быстрее!
                                                                            0
                                                                            Ты все 6 датацентров сам собирал, как фрилансер? Подбирал серваки, архитектура, инфраструктура, монитинг, оборудование? То есть дела все один и сам?
                                                                            Извини мое недоверие, я прекрасно разбираюсь, что такое сделать датацентр, что такое его сертификация, оборудование, цели, отказоустойчиваость. Я прекрасно разбираюсь в построении систем на обслуживание не 10 000 000 показов, а 10 000 000 клиентов приходящих на ресурс в день. И как минимум для того, что бы начать писать свое системное ПО, отдача от ресурса должна быть в ТАКОМ плюсе, что IPO будет скромно стучатся в двери.

                                                                            Самый просто пример у нас сейчас: мы используем rabbitmq, есть вещи в нем, которые нас не устраивают. Есть zeromq, который крут, но требует всю обвязку писать вокруг себя. У нас есть ресурс на это дело (мозги, опыт), но написание такой системы будет стоит, скажем, 2000 человеко-часов, что примерно ~1 400 000 рублей (при стоимости внятного программиста в 150 000р в мес), еще сюда надо заложить багфиксинг, развитие и тд.

                                                                            От сюда моя мораль: я согласен с тем, что в «идеальном газе» (помните такое термин из школьного курса физики?! :) apache+mod_php дает 15-20% (судя по статьям) прирост, но в реальности и в мультиклиентской среде его отставание будет огромно.
                                                                              0
                                                                              Все правильно сказал! правда на нашей стороне
                                                                                –1
                                                                                Я не всю жизнь был фрилансером.
                                                                                  –1
                                                                                  Его отставание будет только в памяти, даже в реальных условиях, а про статику мы же знаем, что она всегда отдельно лежит в нормальных реальных условиях, говносайты не учитываем.
                                                                                    0
                                                                                    Мы явно говорим на разных языках и основываемся на разных данных.
                                                              0
                                                              Вы второй кто дает эту статью 2008 года из жизни php 5.2  в этом треде
                                                                0
                                                                Версия php она как бы не влияет на оверхед в тестах то юзается одна и таже.
                                                                  0
                                                                  ну так и php-fpm изменился за последние 5 лет
                                                                    0
                                                                    Ну так стек tcp-ip не изменился
                                                                    да и как бы php-fpm не менялся сам то php один и тот же
                                                                    за счет чего он по вашему должен быть быстрее?
                                                                      0
                                                                      звучит странно
                                                                        0
                                                                        Ну назовите хоть одну причину почему он должен быть быстрее, возьмите например за аксиому, что php одинаковой версии выполняется одинаково быстро.
                                                                          0
                                                                          Вам интересны теоретические изыскания или реальные проекты?
                                              0
                                              Вообще заббикс завелся на nginx + php-fpm из коробки за полминуты, даже никаких плясок не надо было.
                                                0
                                                Да все работает как нужно, никаких проблем не замечено!
                                                0
                                                В статье есть достаточно важная ошибка. Базу надо создавать следующим образом: CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

                                                Без добавления utf8_bin база данных будет не регистрозависимой, тогда как Zabbix является регистрозависимым приложением.
                                                  0
                                                  Спасибо поправил
                                                  0
                                                  Посмотрите еще пожалуйста в сторону PageSpeed модуля для Nginx от Google. Достаточно грамотное решение, которое значительно ускоряет работу веб-интерфейса Zabbix. Статья как его завести здесь: www.zabbix.org/wiki/Docs/howto/high_availability_Zabbix_Frontend
                                                    0
                                                    Это тот модуль, который компилирует половину Хрома в nginx.
                                                      0
                                                      Это плохо? чем чревато?
                                                        0
                                                        Ну скажем, это уже трудно назвать nginx-ом после этого. Для справки, в nginx примерно 120 тыс. строк кода на Си, а в Хромиуме только лишь на C++ 3.5 млн., конечно не совсем корректно сравнивать, не весь хромиум используется в PageSpeed, но так, для понимания.

                                                        Ходил тут недавно человек, удивлялся, почему у него nginx выдает всего 20rps, оказалось надо PageSpeed отключить, чтобы было на несколько порядков больше.

                                                        Про стабильность я уж умолчу.

                                                  Only users with full accounts can post comments. Log in, please.