Ислам Эскеров, принцип настройки тот же)
По шагам:
Смотрим системный лимит на открытые файлы:
[QUOTE]ulimit -n[/QUOTE]
Видим 1024. Увеличиваем:
[QUOTE]ulimit -n 3000[/QUOTE]
Так как сервисами теперь управляет systemd - задаем лимит для бд. У нас MySQL 5.7 Percona, пути изменятся. Смотрим как:
[QUOTE]ls -la /etc/systemd/system/[/QUOTE]
Видим, что файл конфигурации живет по адресу:
[QUOTE]mysql.service -> /usr/lib/systemd/system/mysqld.service[/QUOTE]
Правим его:
[QUOTE]mcedit /usr/lib/systemd/system/mysqld.service[/QUOTE]
В секции [Service] ищем опцию LimitNOFILE и задаем:
[QUOTE]LimitNOFILE=3000[/QUOTE]
Перезапускаем демонов:
[QUOTE]systemctl daemon-reload
systemctl restart mysqld.service[/QUOTE]
Проверяем sql-запросом параметр:
Было
[QUOTE]root@localhost [(none)]> SHOW VARIABLES LIKE 'table_open_cache%';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| table_open_cache | 2467 |
| table_open_cache_instances | 16 |
+----------------------------+-------+
2 rows in set (0.01 sec)[/QUOTE]
Стало
[QUOTE]root@localhost [(none)]> SHOW VARIABLES LIKE 'table_open_cache%';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 2
Current database: *** NONE ***
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| table_open_cache | 1467 |
| table_open_cache_instances | 16 |
+----------------------------+-------+
2 rows in set (0.00 sec)[/QUOTE]
На странице Монитор производительности: сервер БД (/bitrix/admin/perfmon_db_server.php?lang=ru) у меня до было 0,53%, после 87.2% :) Опять же, все что выше - лишь пример настройки. У вас параметры могут отличаться, надо поиграть ими и найти нужное значение.
По шагам:
Смотрим системный лимит на открытые файлы:
[QUOTE]ulimit -n[/QUOTE]
Видим 1024. Увеличиваем:
[QUOTE]ulimit -n 3000[/QUOTE]
Так как сервисами теперь управляет systemd - задаем лимит для бд. У нас MySQL 5.7 Percona, пути изменятся. Смотрим как:
[QUOTE]ls -la /etc/systemd/system/[/QUOTE]
Видим, что файл конфигурации живет по адресу:
[QUOTE]mysql.service -> /usr/lib/systemd/system/mysqld.service[/QUOTE]
Правим его:
[QUOTE]mcedit /usr/lib/systemd/system/mysqld.service[/QUOTE]
В секции [Service] ищем опцию LimitNOFILE и задаем:
[QUOTE]LimitNOFILE=3000[/QUOTE]
Перезапускаем демонов:
[QUOTE]systemctl daemon-reload
systemctl restart mysqld.service[/QUOTE]
Проверяем sql-запросом параметр:
Было
[QUOTE]root@localhost [(none)]> SHOW VARIABLES LIKE 'table_open_cache%';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| table_open_cache | 2467 |
| table_open_cache_instances | 16 |
+----------------------------+-------+
2 rows in set (0.01 sec)[/QUOTE]
Стало
[QUOTE]root@localhost [(none)]> SHOW VARIABLES LIKE 'table_open_cache%';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 2
Current database: *** NONE ***
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| table_open_cache | 1467 |
| table_open_cache_instances | 16 |
+----------------------------+-------+
2 rows in set (0.00 sec)[/QUOTE]
На странице Монитор производительности: сервер БД (/bitrix/admin/perfmon_db_server.php?lang=ru) у меня до было 0,53%, после 87.2% :) Опять же, все что выше - лишь пример настройки. У вас параметры могут отличаться, надо поиграть ими и найти нужное значение.