• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела wpt лично.

Производительность Битрикс

настраивал несколько бюджетных vds, потом брал у русоникса тариф заточенный под битрикс - мой оказался быстрее при тех же параметрах. Повторюсь бюджетный для новичков.
Ставилось все на Debian и Centos без панелей. Чисто связка Nginx + php-fpm + memcached
Так как сам разбираюсь поверхностно настройки работы с бд доверил старому скрипту mysqltuner (Для просмотра ссылки Войди или Зарегистрируйся) - все наглядно и понятно - с накоплением статистики можно вносить поправки и проверять их влияние на общую работу.

Но самый большой прирост скорости давала настройка сети)
дебиан, сентос проверено работает, думаю и на остальных никс-системах должна работать, в консоли выполняем:
Код:
cat >> /etc/sysctl.d/bitrix.conf <<EOF
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_tw_recycle = 1

net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2

net.ipv4.tcp_max_tw_buckets = 1440000

net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.all.forwarding=0
net.ipv4.conf.all.mc_forwarding=0

net.ipv4.tcp_tw_reuse=1
EOF

брал отсюда -->> Для просмотра ссылки Войди или Зарегистрируйся - сами конфиги у меня немного по другому + стандартные рекоммендации.
для отката просто удалите созданный файл /etc/sysctl.d/bitrix.conf
для интереса - киньте сколь у кого попугаев получилось
 
Последнее редактирование:
дебиан, сентос проверено работает, думаю и на остальных никс-системах должна работать, в консоли выполняем:
Не все так радужно. Тюнинг TCP/UDP соединение это очень тонкая темка! Для подобных настроек может понадобится возможность подключения к машине внешними IP консолями, в случае падения сети.
К тому же данные настройки предполагают, что у машины имеется гигабитная сетка и от 8 и выше гиг оперативки.
Создание и изменение конфигурации с многопользовательской и / или множественными соединениями не рекомендуется ни центосью, ни дебианом — все это может привести к тому, что при высокой нагрузке соединений, например, приходящий плотный трафик из яши-директа, и из-за отсутствия выделения памяти мы получим молчаливый безответный сервак! Виртуалкам же выделяют от 2 до 4 гиг оперативки, а в случаях привышения нагрузки вам навязчиво предложат перейти на другой тарифный план.

В начале не плохо было бы ознакомиться с темой, об этом немного ниже, и с вашими настройками по умолчанию:
Код:
$ sysctl -a | grep mem
Нам жизненно необходимо посмотреть текущие настройки буфера. Сохранить их! Потом в случае зависания сетки, в консоли можно вернуться к нашим настройкам.

К сожалению, не помню, с какой по какую версии в ядре centos подобные конфиги могут менять настройки перманентно, поэтому пару раз приходилось исправлять подобной командой:
Код:
$ sysctl -w net.core.rmem_max = 124928

Поэтому крайне рекомендую почитать подобные статьи:
Для просмотра ссылки Войди или Зарегистрируйся

Notes: you should leave net.tcp_mem alone, as the defaults are fine. A number of performance experts say to also increase net.core.optmem_max to match net.core.rmem_max and net.core.wmem_max, but we have not found that makes any difference. Some experts also say to set net.ipv4.tcp_timestamps and net.ipv4.tcp_sack to 0, as doing that reduces CPU load. We strongly disagree with that recommendation for WAN performance, as we have observed that the default value of 1 helps in more cases than it hurts, and can help a lot.
Некоторые эксперты рекомендуют установливать значения net.ipv4.tcp_timestamps и net.ipv4.tcp_sack в 0, якобы это снижает нагрузку на процессор, но мы категорически не согласны с этой рекомендацией для производительности WAN, так как мы заметили, что значение по умолчанию 1 помогает в большем количестве случаев.

Ну и так далее. Теоритически, это так называемая балансировка нагрузки сетевой карты для множества посетителей по типу Майкрософтовского QoS (или наоборот), а вот для одного пользователя скорость несколько увеличит. Но очень не на много, по тестам от 10 до 20%!

Данное количество попугаев обусловлена ТОЛЬКО связкой Nginx + php-fpm + memcached, нежели классической Nginx + Apache + memcached
К слову, Centos7, Nginx + php7-fpm + memcached так же повышают производительность в два раза и заработает только на последней версии Битрикса, да и не со всеми представленными решениями.
 
спс за развернутый комментарий я вообще далек от администрирования - все проверяю методом научного тыка(, буду эксперементировать - у меня площадка в процессе раскрутки - поэтому под нагрузкой не проверено - но попугаев больше стало именно после правки по настройке сети, если с конкретикой увеличилась скорость запросов к бд (количество запросов в секунду).
я вообще затевал пляски чтобы все запустить на php 7 - но так понимаю что не факт? есть у кого опыт внедрения, чего ждать)?
 
я вообще затевал пляски чтобы все запустить на php 7 - но так понимаю что не факт? есть у кого опыт внедрения, чего ждать)?
Ну не такие страшные конечно же пляски и ошибки.
При использовании Битрикса с решениями сторонних разработчиков в связке php7, при вызовах статических методов сыпятся варнинги, возникают ошибки переменные-переменных и т.д., а как известно, начиная с версии php7 включена строгая проверка синтаксиса, без оговорок. Ядро php7 теперича целиком на С с нуля — хардкор! Можно почитать статьи руководителя разработки ядра php в переводе на хабре — Julien Pauli's.
Домашняя: Для просмотра ссылки Войди или Зарегистрируйся

К слову, в случаях $this-> в не статических методах достаточно легко победить — $this-> заменить на self::
В переменные-переменных $$arParams["FILTER_NAME"]; — достаточно определить четкие границы переменной и заключить в фигурные скобки: ${$arParams["FILTER_NAME"]};
php.net/manual/ru/migration70.incompatible.php#migration70.incompatible.variable-handling.indirect

Остальные же нужно рассматривать в контексте.

Чего ждать? Ну или самим правки вносить в полюбившиеся решения или драконить разработчиков на предмет перехода на php7 — ну а в целом ждать пол-года, того глядишь и подтянутся патчи.
 
я вообще затевал пляски чтобы все запустить на php 7 - но так понимаю что не факт? есть у кого опыт внедрения, чего ждать)?
Поднимал я связку на CentOS 7.2 - Nginx 1.9.x + php7-fpm + MariaDB + Redis/Memcache. Работает даже сносно, в 16.5 должна улучшиться стабильность на PHP7.

Оффтопа немного:
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Поднимал я связку на CentOS 7.2 - Nginx 1.9.x + php7-fpm + MariaDB + Redis/Memcache. Работает даже сносно, в 16.5 должна улучшиться стабильность на PHP7.

Оффтопа немного:

Смеялся в голос. Сам на конфе присутствовал, пацаны зафейлили показ некоторых новых фич, тупо не сработало ;) Автокомпозит срань, которую на сложном проекте хрен заставишь нормально работать, чувак котоырй его придумал заикается, вытянуть из него решение определенных пробле мне получилось, заученный текст повторяется, живосайт собственного разлива и открытые линии вещь интересная, пусть будет, лиж бы работала, по сути был некий отчет о проделанной работе и пара фич для галочки, 16.5жи. К зимней партнерке авось даже заставят это все работать. PHP7 без сомнения надо внедрять, осенью будет виртуалка от них, посмотрим чего они там накрутят.
 
Смеялся в голос. Сам на конфе присутствовал, пацаны зафейлили показ некоторых новых фич, тупо не сработало ;) Автокомпозит срань, которую на сложном проекте хрен заставишь нормально работать, чувак котоырй его придумал заикается, вытянуть из него решение определенных пробле мне получилось, заученный текст повторяется, живосайт собственного разлива и открытые линии вещь интересная, пусть будет, лиж бы работала, по сути был некий отчет о проделанной работе и пара фич для галочки, 16.5жи. К зимней партнерке авось даже заставят это все работать. PHP7 без сомнения надо внедрять, осенью будет виртуалка от них, посмотрим чего они там накрутят.

А я тут попробовал поставил новый бизнес на пхп 7 проблем с совместимость не заметил, да пришлось возюкаться руками с установкой, но производительность пхп раза в 2.5 выше!!!! Я доволен, учитывая что в проекте > 100к элементов в инфоблоках, а с рейд 0 на ссд вообще сказка.
 
Смеялся в голос. Сам на конфе присутствовал, пацаны зафейлили показ некоторых новых фич, тупо не сработало ;) Автокомпозит срань, которую на сложном проекте хрен заставишь нормально работать, чувак котоырй его придумал заикается, вытянуть из него решение определенных пробле мне получилось, заученный текст повторяется, живосайт собственного разлива и открытые линии вещь интересная, пусть будет, лиж бы работала, по сути был некий отчет о проделанной работе и пара фич для галочки, 16.5жи. К зимней партнерке авось даже заставят это все работать. PHP7 без сомнения надо внедрять, осенью будет виртуалка от них, посмотрим чего они там накрутят.
без кэшировая всё дохлый номер. php7 не дал ощутимого буста, а вот приколов в коде прибавил
 
без кэшировая всё дохлый номер. php7 не дал ощутимого буста, а вот приколов в коде прибавил
Так да, все приросты получаются только с комплексом мер оптимизации сервера. Дверями (Битриксом) "хлопай", "не хлопай", работает то оно на платформе в целом.
 
без кэшировая всё дохлый номер. php7 не дал ощутимого буста, а вот приколов в коде прибавил

Без кеширования на любой версии пхп все дохлый номер. А разница ощущается сильно именно когда за выборки из инфоблоков с >100к элементов, и понятно что на базу влияет дисковая система и тюнинг базы. Но обработка результата ускоряется очень существенно.
На многих дешевых серверах и впсках сейчас проц самое узкое место, например вкусный дедикбокс 2016 от онлайн нет. Памяти дофига диск ссд а проц полное уг. Но с пхп7 все становиться намного интереснее.
 
Назад
Сверху