Николай Ланец
24 дек. 2015 г., 5:47

Настройка сервера не только под MODX, но и Bitrix

Надеялся, что никогда мне больше не случится возиться с битриксом, но не пронесло… Достался нам весьма не маленький интернет-магазин www.dinozavrik.ru
Пока вопрос переноса на MODX не стоит, а вот вопрос производительности стоял очень даже… Сайт висел на ник.ру на топовом шаред-тарифе 1С-Битрикс. На странице тарифа заявляется “Тариф оптимизирован для использования CMS «1С-Битрикс: Управление сайтом»”. ОК, может все так, и даже очень на это похоже (даже в мониторингах битрикса было включено АРС-кеширование и т.п.), и даже показывает, что php-конфигурация оптимальная. Да вот только показатели производительности не на высоте… А что самое плохое, в какие-то моменты сайт просто переставал работать… Вот это видно на графике:
?
Несколько провалов минут по 15 посредь рабочего дня — очень не приятная штука… Я звонил в саппорт и выяснял у нас ли это на сайте проблемы, или где-то по сети перебои. Специалист поддержки подтвердил, что проблемы на самом сайте, что и по графикам их видно, как идет нагрузка, а потом отказ от обслуживания.
Собственно, так как данный тариф на ник.ру топовый и нельзя там просто так взять и повысить конфигурацию, а можно только заказать VDS-ку или выделенный физической сервер, я решил сайт перенести на VDS, только не к ним, а на neoserver.ru
В пользу выбора данной площадки сыграли 3 фактора: 1. Конструктор конфигураций
?
2. Возможность заказать за отдельные деньги выделенный гарантированный интернет-канал, а не общим довольствоваться. 10-ти Мб канал стоит 600 рублей в месяц. На общий грешу, что он у них иногда переполняется, и тогда сайты начинают тормозить.
3. Относительно не высокие цены.
Я сконфигурил, пожалуй, очень мощный сервер (8 ядер Xeon E5-26xx v3, 4 Гб DDR4 и 20 SSD), и все это добро стоит всего-лишь 2360 рэ в месяц. Плюс 600 рэ за выделенный канал. Взял с запасом, так как еще не знаю какова будет итоговая нагрузка в пики посещаемости, но скорее всего это слишком большой запас и после парочки дней наблюдений я конфигурацию серьезно понижу. Сейчас процессор вообще спит.
?
А вот сеть может придется и поднять. Пики уже с утра до 2 Мбит имеются.
?
А теперь посмотрим на показатели производительности изнутри, “глазами” Битрикса.
Вот статистика производительности, что мы видим в админке битрикса на ник.ру
?
Как видно на скриншоте, большинство показателей ниже объявленных самим битриском эталонов.
А вот это показатели на нашем сервере
?
И хотя он жалуется на то, что php не идеально для него настроен, тем не менее многие показатели гораздо лучше.
А теперь просто посмотрим на график загрузки сайта после переезда на новый сервер.
?
Вот там где в конце график падает ниже плинтуса, не подумайте, это сайт не перестал работать. Это он просто стал работать как надо :) Это я уже там в довесок включил битриксу APC-кеширование и т.п. И он вздохнул…
P. S. Так при чем тут настройка сервера под MODX? Просто для настройки сервера под этот сайт я использовал нашу технологию, про которую уже не раз говорил. Собственно, совсем на много телодвижений потребовалось, чтобы на новом сервере все докрутить под битрикс. А показатели производительности очень даже радовать стали :) Теперь осталось только через несколько дней сравнить показатели конверсии До и После переноса. Верю, что более высокая производительность сайта должна способствовать росту среднего чека и количества заказов.
UPD: После пары дней наблюдений все-таки понизил конфигурацию сервера. Количество ядер сократил до 2, а то вообще процессоры почти спят.
?
Оперативку понизил с 4 Гб до 2. Тоже в целом вполне хватает.
?
А вот выделенный канал так и остался 10Мбит. Меньше нет варианта, а больше не нужно. В целом в пределах 2-3 Мбит, держится, в пики до 7 доходит.
?
Таким образом общую стоимость сервера (железо + выделенный канал) удалось понизить с 2960 до 1800 рублей в месяц. Вполне нормально для активно работающего магазина на битриксе.
На сервере крутится nginx или apache? Если nginx, то не мог бы ты показать конфиг NGINX как для Bitrix так и для MODX, интересует тонкая настройка NGINX (распределение его ресурсов) на сервере где много сайтов с различными CMS.
Апач может и с нгинксом работать, но у нас используется nginx + php-fpm Особо тонкой настройки нет. Для битрикса и для модикса практически одинаковые конфиги используются, на одну строчку только отличаются.
server { listen 80; server_name domain.name; error_log /var/log/nginx/domain.name.error_log; fastcgi_intercept_errors on; root /var/www/domain.name; index index.php; client_max_body_size 30M; location /core/ { deny all; } location /.git/ { deny all; } location ~* \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ { access_log off; expires 30d; } location / { if (!-e $request_filename) { #rewrite ^/(.*)$ /index.php?q=$1 last; # Этот для MODX rewrite ^/(.*)$ /bitrix/urlrewrite.php last; # А этот для Bitrix } } location ~ \.php$ { 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; fastcgi_ignore_client_abort on; fastcgi_param SERVER_NAME $http_host; } location ~ /\.ht { deny all; } }
Все сайты отправляете сюда или для каждого сайта свой порт?
fastcgi_pass 127.0.0.1:9000;
То есть, все сайты работают от одного пользователя? И если, вдруг, один из них взломают, то через общий процесс PHP можно будет порушить и все остальные?
Или что-то предусмотрено на этот счёт?
На этот счет предусмотрен open_basedir. Но что-то видимо в процессе доработок оно несколько потерялось. Один из вариантов — fastcgi_param PHP_VALUE open_basedir="/var/www/site_path" (Само собой для каждого сайта в отдельности). Но возможно у Ксении другой механизм используется. Так или иначе, этот момент без внимания не оставляем. Все в процессе.
neoserver.ru впервые используете или нет, можите насчет него что-нибудь сказать, если ли разница с DO?
Нет, уже не первый. Вот буквально как начали с этой новой технологией экспериментировать, так вот тогда и на них наткнулся. С DO, как и с многими другими — ощутимая разница в цене, плюс тарифы в рублях и возможность работать по безналу. Ну и главное для меня — это конструктор конфигураций. Где-то мне не нужен большой по объему диск, но надо больше оперативки (для нагруженного сайта), а где-то процессор и оперативка вообще не нужна, нужен только диск, при чем можно SATA (просто для резервных копий и т.п.). Вот тут можно это все самому настраивать. А почти у всех сейчас так — вот выбирай из готовых планов, где все вместе растет. Но есть один минус (не знаю на сколько временный) — нет круглосуточной поддержки. Это печалька.

Добавить комментарий