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

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

Делал проходов по 5 в каждом случае, взял примерно среднее.
До обновление буса (когда только обновил ось и машину) было еще 138 попугаев, но чтение, как и писал, уже упало до 16
Обновил бус стало 107 попугаев
 
  • Нравится
Реакции: GiT
Чтение бд упало с 22 до 16 - это почти 30% (!) сразу после обновление оси вместе с BitrixVM

Подобное могло произойти и без обновления, попугаи Битрикса это очень неоднозначное средство оценки производительности проекта.

Чтобы получить адекватные замеры этим средством надо закрыть все сети от доступа к сайту кроме своего IP адреса (важно самого себя не блокирнуть!!!)
после убедиться что на уровне процессов на серваке все выполнилось (обмены с 1С и прочие там всякие шняги которые могут выполняться на агентах и кроне)
и только после этого уже мерить попугаи битрикса,тогда у вас будет хоть какая то гарантия что тест проведен более менее на эталонной нагрузке.

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

закрыть все сети от доступа к сайту
все выполнилось (обмены с 1С и прочие там всякие шняги которые могут выполняться на агентах и кроне)
И че я получу? Что без нагрузки у меня все летает?
 
Тестируем диски по-быстрому.
Для теста записи следует взять поток нулей из специального устройства /dev/zero и направить его в файл, на тестеруемом диске.
Создаст файл /tmp/test.img в 1 Гб размером и выведет скорость записи
PHP:
dd if=/dev/zero of=/tmp/test.img bs=1M count=1024 oflag=dsync
Скорость чтения.
Перед замером нужно сбросить дисковый кэш, иначе файл будет считан за секунду, и выведется скорость чтения в Gb/s.
Сбрасываем
PHP:
sysctl vm.drop_caches=3
Проверяем чтение
PHP:
dd if=/tmp/test.img of=/dev/null bs=1M count=1024
Удалить тестовый файл
PHP:
rm -f /tmp/test.img
На ssd (с учетом соседей) чтение-запись должно быть 220-150МБ/сек. и выше.
Если ниже - проблемы, или совсем не ssd.
 
Нашел на форуме searchengines Для просмотра ссылки Войди или Зарегистрируйся полезный параметр для mysql
optimizer_search_depth=0
По умолчанию 62.
Даже статья в битриксе есть, как у них все глючит Для просмотра ссылки Войди или Зарегистрируйся
Себе вчера поменял, пока полет нормальный.
 
Найти оптимальный innodb_buffer_pool_size
PHP:
SELECT CONCAT(ROUND(KBS/POWER(1024,
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.49999),
SUBSTR(' KMG',IF(PowerOf1024<0,0,
IF(PowerOf1024>3,0,PowerOf1024))+1,1)) recommended_innodb_buffer_pool_size
FROM (SELECT SUM(data_length+index_length) KBS FROM information_schema.tables
WHERE engine='InnoDB') A,
(SELECT 2 PowerOf1024) B;
add-------------
VMBitrix 7.3.0 в релизе
wget Для просмотра ссылки Войди или Зарегистрируйся && chmod +x bitrix-env.sh && ./bitrix-env.sh
---------------
nginx
HTTP 1.0 не может одновременно использовать keepalive и gzip
HTTP 1.1 отдает оба, но gzip не будет работать для HTTP 1.0
gzip_http_version 1.1;
This directive tells nginx to use gzip only for HTTP 1.1 and above. We don’t include HTTP 1.0 here, because for the 1.0 version, it is impossible to use both keepalive and gzip. You need to decide which one you prefer: HTTP 1.0 clients missing out on gzip or HTTP 1.0 clients missing out on keepalive.

VMBitrix 7.3.0 - Nginx 1.14.0
Значит на этом Nginx можно настроить HTTP/2 Server Push
У кого получилось?
Свои попытки безуспешно, на оф. форуме админы молчат на вопрос.

что такое HTTP/2 Server Push
Толкать надо css, - самый лучший вариант, картинка для наглядности
http2-server-push-testing-results.png
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

jquery-3.3.1.min.js
DOM загружается быстрее в среднем на 50мс, по сравнению с 1.8.3

Подключить jquery-3
PHP:
// Сам jquery-3 сюда:
/bitrix/js/main/jquery/jquery-3.3.1.min.js

// Подключить в head шаблона
CJSCore::RegisterExt('jquery3',  array(
    'js' => '/bitrix/js/main/jquery/jquery-3.3.1.min.js',
    'skip_core' => true,
));
CJSCore::Init("jquery3");

Если в поиске по каталогу не используется поиск по детальнму описанию, анонсу.
Очистить поле SEARCHABLE_CONTENT таблицы b_iblock_element
PHP:
// 16 id инфоблока
UPDATE  `b_iblock_element` SET SEARCHABLE_CONTENT = NULL WHERE IBLOCK_ID IN ( 16 )
OPTIMIZE TABLE  `b_iblock_element`
b_iblock_element
Было 116, стало 79 мб.

В каталоге %30 не заполнено детальное описание и анонс, ели детальное и анонс заполнено - SEARCHABLE_CONTENT практически удвоит вес таблицы b_iblock_element
 
Последнее редактирование модератором:
Хороший аналог bitrix_server_test от тюнинг софт
Для просмотра ссылки Войди или Зарегистрируйся
Собственно, благодаря скрипту заметил, что значение table_open_cache из /mysql/conf.d/bvat.cnf не применяется, причина - не дает системный open_files_limit.
Решение
Для просмотра ссылки Войди или Зарегистрируйся
Опять эти грабли с невозможность увеличить table_open_cache, решение немного изменилось, менять тут:
/usr/lib/systemd/system/mysqld.service
LimitNOFILE=infinity (или сколько нужно)
варианты:
Для просмотра ссылки Войди или Зарегистрируйся
 
  • Местоположения с селами и улицами - таблица вырастет на 200мб, попугаи - упадут на 25%.
  • Html сжатие (народным способом) уменьшит размер композитного кеша (было 5.6 гб стало 4.5). С этим по-уму, можно сломать.
  • Отдача гугл шрифтов, fontawesome, со своего сервака ускорит отрисовку (pagespeed накинул +8 балов для мобильной и +3 для десктопа).
hetzner, 4vcpu, 16ram
 
  • Местоположения с селами и улицами - таблица вырастет на 200мб, попугаи - упадут на 25%.
Для просмотра ссылки Войди или Зарегистрируйся, cпасибо, удалил их совсем, т.к. не используются - попугаи выросли
  • Html сжатие (народным способом) уменьшит размер композитного кеша (было 5.6 гб стало 4.5). С этим по-уму, можно сломать.

А что за народный способ?
  • Отдача гугл шрифтов, fontawesome, со своего сервака ускорит отрисовку (pagespeed накинул +8 балов для мобильной и +3 для десктопа).
Есть пример, как это лучше реализовать?
 
Друзья, подскажите пожалуйста, до какого предела есть смысл увеличивать tmp_table_size и max_heap_table_size?

Сейчас установлено по 256мб. Нагрузка порядка 5000 визитов в сутки. Размер базы и innodb_buffer_pool_size=7G.
Достаточно много таблиц создается на диске, а не в памяти: 40%
 
Назад
Сверху