Fi1osof 24 декабря 2015 1 8
Надеялся, что никогда мне больше не случится возиться с битриксом, но не пронесло… Достался нам весьма не маленький интернет-магазин 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 рублей в месяц. Вполне нормально для активно работающего магазина на битриксе.
8 комментариев
c
core01 24 декабря 2015г в 10:41 #
На сервере крутится nginx или apache? Если nginx, то не мог бы ты показать конфиг NGINX как для Bitrix так и для MODX, интересует тонкая настройка NGINX (распределение его ресурсов) на сервере где много сайтов с различными CMS.
Fi1osof1
Fi1osof 24 декабря 2015г в 10:52 #
Апач может и с нгинксом работать, но у нас используется 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;
        }
}
c
core01 24 декабря 2015г в 10:59 #
Все сайты отправляете сюда или для каждого сайта свой порт?

fastcgi_pass   127.0.0.1:9000;

Fi1osof1
Fi1osof 24 декабря 2015г в 11:00 #
Все сюда.
b
bezumkin 24 декабря 2015г в 19:04 #
То есть, все сайты работают от одного пользователя? И если, вдруг, один из них взломают, то через общий процесс PHP можно будет порушить и все остальные?

Или что-то предусмотрено на этот счёт?
Fi1osof1
Fi1osof 25 декабря 2015г в 21:48 #
На этот счет предусмотрен open_basedir. Но что-то видимо в процессе доработок оно несколько потерялось. Один из вариантов — fastcgi_param PHP_VALUE open_basedir="/var/www/site_path" (Само собой для каждого сайта в отдельности). Но возможно у Ксении другой механизм используется. Так или иначе, этот момент без внимания не оставляем. Все в процессе.
w
wgame 29 декабря 2015г в 00:29 #
neoserver.ru впервые используете или нет, можите насчет него что-нибудь сказать, если ли разница с DO?
Fi1osof1
Fi1osof 29 декабря 2015г в 08:15 #
Нет, уже не первый. Вот буквально как начали с этой новой технологией экспериментировать, так вот тогда и на них наткнулся. С DO, как и с многими другими — ощутимая разница в цене, плюс тарифы в рублях и возможность работать по безналу. Ну и главное для меня — это конструктор конфигураций. Где-то мне не нужен большой по объему диск, но надо больше оперативки (для нагруженного сайта), а где-то процессор и оперативка вообще не нужна, нужен только диск, при чем можно SATA (просто для резервных копий и т.п.). Вот тут можно это все самому настраивать. А почти у всех сейчас так — вот выбирай из готовых планов, где все вместе растет.
Но есть один минус (не знаю на сколько временный) — нет круглосуточной поддержки. Это печалька.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.