Назад | Перейти на главную страницу

Сервер падает каждый день примерно в одно и то же время. Связано с MYSQL?

У нас есть выделенный сервер с несколькими запущенными приложениями, включая форум Vbulletin и сайт Wordpress. Основное ресурсоемкое приложение - это чат-приложение PHP, которое также использует MYSQL.

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

На сервере установлена ​​Cpanel. Плагин Engintron для Nginx и MariaDB 10.1 для базы данных. CentOS 7.

Вот мои результаты MYSQLTuner:

[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 10.1.33-MariaDB
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -----------------------------------------------------------------
[--] Status: +Aria +CSV +InnoDB +MEMORY +MRG_MyISAM +MyISAM +PERFORMANCE_SCHEMA +SEQUENCE 
[--] Data in MyISAM tables: 2G (Tables: 310)
[--] Data in InnoDB tables: 28G (Tables: 308)
[--] Data in MEMORY tables: 16M (Tables: 3)
[!!] Total fragmented tables: 111
[!!] failed to execute: SHOW TABLE STATUS FROM \`#mysql50#.ssh\`
[!!] FAIL Execute SQL / return code: 256

-------- Security Recommendations ------------------------------------------------------------------
[OK] There are no anonymous accounts for any database users
[OK] All database users have passwords assigned
[!!] There is no basic password file list!

-------- CVE Security Recommendations --------------------------------------------------------------
[--] Skipped due to --cvefile option undefined

-------- Performance Metrics -----------------------------------------------------------------------
[--] Up for: 2d 9h 41m 49s (37M q [182.400 qps], 12M conn, TX: 116G, RX: 12G)
[--] Reads / Writes: 85% / 15%
[--] Binary logging is disabled
[--] Physical Memory     : 62.7G
[--] Max MySQL memory    : 51.0G
[--] Other process memory: 2.5G
[--] Total buffers: 35.1G global + 16.3M per thread (1000 max threads)
[--] P_S Max memory usage: 0B
[--] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 35.9G (57.19% of installed RAM)
[OK] Maximum possible memory usage: 51.0G (81.37% of installed RAM)
[OK] Overall possible memory usage with other process is compatible with memory available
[OK] Slow queries: 0% (518/37M)
[OK] Highest usage of available connections: 4% (46/1000)
[OK] Aborted connections: 0.17%  (20794/12263809)
[!!] Query cache efficiency: 10.6% (2M cached / 24M selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (22 temp sorts / 6M sorts)
[!!] Joins performed without indexes: 1016
[OK] Temporary tables created on disk: 0% (5K on disk / 15M total)
[OK] Table cache hit rate: 74% (1K open / 1K opened)
[OK] Open file limit used: 0% (787/1M)
[OK] Table locks acquired immediately: 99% (52M immediate / 52M locks)

-------- ThreadPool Metrics ------------------------------------------------------------------------
[--] ThreadPool stat is enabled.
[--] Thread Pool Size: 12 thread(s).
[--] Using default value is good enough for your version (10.1.33-MariaDB)

-------- Performance schema ------------------------------------------------------------------------
[--] Performance schema is disabled.

-------- MyISAM Metrics ----------------------------------------------------------------------------
[!!] Key buffer used: 20.2% (867M used / 4B cache)
[OK] Key buffer size / total MyISAM indexes: 4.0G/617.7M
[OK] Read Key buffer hit rate: 100.0% (1B cached / 82K reads)
[!!] Write Key buffer hit rate: 42.3% (111K cached / 64K writes)

-------- AriaDB Metrics ----------------------------------------------------------------------------
[--] AriaDB is enabled.
[OK] Aria pagecache size / total Aria indexes: 128.0M/1B
[OK] Aria pagecache hit rate: 97.9% (253K cached / 5K reads)

-------- InnoDB Metrics ----------------------------------------------------------------------------
[--] InnoDB is enabled.
[OK] InnoDB buffer pool / data size: 30.0G/28.9G
[!!] InnoDB buffer pool instances: 20
[!!] InnoDB Used buffer: 54.49% (1071288 used/ 1966060 total)
[OK] InnoDB Read buffer efficiency: 99.99% (13800614528 hits/ 13801405527 total)
[OK] InnoDB Write log efficiency: 95.40% (68361750 hits/ 71657060 total)
[!!] InnoDB log waits: 0.00% (39 waits / 3295310 writes)

-------- TokuDB Metrics ----------------------------------------------------------------------------
[--] TokuDB is disabled.

-------- Galera Metrics ----------------------------------------------------------------------------
[--] Galera is disabled.

-------- Replication Metrics -----------------------------------------------------------------------
[--] Galera Synchronous replication: NO
[--] No replication slave(s) for this server.
[--] This is a standalone server.

-------- Recommendations ---------------------------------------------------------------------------
General recommendations:

Run OPTIMIZE TABLE to defragment tables for better performance
Adjust your join queries to always utilize indexes
Variables to adjust:

query_cache_limit (> 1M, or use smaller result sets)

join_buffer_size (> 4.0M, or always use indexes with joins)

innodb_buffer_pool_instances(=30)

innodb_log_buffer_size (>= 8M)

Заранее благодарим за любую помощь.

ОБНОВЛЕНИЕ: похоже, проблема была в большой нагрузке на сервер. У меня был установлен csf, и он слишком много сканировал на сервер, поэтому я понизил его. Я также внес некоторые изменения в my.cnf. Похоже, это очень помогло.

Вот мои новые результаты после некоторых настроек: (Я больше не получаю этих сбоев после того, как в основном использовал некоторые настройки csf, чтобы контролировать количество времени, которое он сканирует сервер)

Общие рекомендации: запустите OPTIMIZE TABLE для дефрагментации таблиц для повышения производительности MySQL, запущенного в течение последних 24 часов - рекомендации могут быть неточными. Настройте запросы на соединение, чтобы всегда использовать индексы. Переменные для настройки: query_cache_size (> = 8M) join_buffer_size (> 512.0K или всегда используйте индексы с объединениями)

Предложения для вашего раздела my.cnf-ini [mysqld}

key_buffer_size=3G  # from 4G - only 20% used
key_cache_age_threshold=64800  # from 300 second purge to reduce key_reads
key_cache_division_limit=50  # from 100 for Hot/Warm split of RAM
key_cache_block_size=16384  # from 1024 to reduce CPU usage to manage discards
query_cache_type=0  # for No QC that is only 10% efficient
query_cache_size=0  # from ? to use RAM for more useful purpose 
query_cache_limit=0  # from 1M to use RAM for more useful purpose
innodb_buffer_pool_size=38G  # from 30G for 60% of RAM remember CHG % setaside
innodb_buffer_pool_instances=8  # from 20 to continue to avoid mutex contention
innodb_lru_scan_depth=100 # from 1024 to save CPU every second - see refman
innodb_log_file_size=32M  # from ? for about 1hr before rotation
innodb_log_buffer_size=16M  # from 8M indicated by Mysqltuner
max_connections=100  # from 1000 - max_used_connections was 46 over 2 days

. , чтобы настройки по умолчанию работали на вас и экономили объем оперативной памяти. ВВЕДИТЕ следующее с # и пробелом, чтобы значения по умолчанию были эффективными.

sort_buffer_size
read_buffer_size
read_rnd_buffer_size
join_buffer_size

пожалуйста, посмотрите мой профиль для получения контактной информации.

Мы хотели бы время от времени узнавать о ваших успехах.