Mysql

在 MySQL 中配置 max_connections 設置

  • April 21, 2019

我瀏覽了許多文件和論壇,但找不到正確的答案來確定我應該設置的最大連接數。

我嘗試使用 MySQLTuner,這給了我:

Variables to adjust:
   max_connections (> 500)

我不清楚它是想讓我降低這個門檻,還是只是說我可以擁有超過 500 個連接。我目前的設置是500。

我執行了以下查詢:

show variables where Variable_name regexp '^(key_buffer_size|innodb_buffer_pool_size|innodb_log_buffer_size|innodb_additional_mem_pool_size|net_buffer_length|query_cache_size)$'
show variables where Variable_name regexp '^(sort_buffer_size|myisam_sort_buffer_size|read_buffer_size|join_buffer_size|read_rnd_buffer_size|thread_stack)$';

這給了我:

+---------------------------------+------------+
| Variable_name                   | Value      |
+---------------------------------+------------+
| innodb_additional_mem_pool_size | 8388608    |
| innodb_buffer_pool_size         | 2147483648 |
| innodb_log_buffer_size          | 8388608    |
| key_buffer_size                 | 8388608    |
| net_buffer_length               | 16384      |
| query_cache_size                | 1048576    |
+---------------------------------+------------+


+-------------------------+---------+
| Variable_name           | Value   |
+-------------------------+---------+
| join_buffer_size        | 8388608 |
| myisam_sort_buffer_size | 8388608 |
| read_buffer_size        | 131072  |
| read_rnd_buffer_size    | 262144  |
| sort_buffer_size        | 262144  |
| thread_stack            | 262144  |
+-------------------------+---------+

我把它放進:

32122936 - (8388608 + 2147483648 + 8388608 + 8388608 + 16384 +1048576) / (8388608 + 8388608 + 131072 + (3* 262144))

然後回來32122813.1546,這聽起來像是太多的聯繫。我還嘗試了http://www.mysqlcalculator.com/,它給了我大約 2000。這個數字似乎最接近。

我的伺服器有 32 GB 的 RAM 和 8 個核心。

我在這個主題上看到的大多數文件和執行緒都來自 2008 年到 2013 年之間,並且執行的是 5.1 或 5.5。我用的是5.6。

最大 conns 命中時的伺服器

這是完整的調諧器輸出:

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

-------- Log file Recommendations ------------------------------------------------------------------
[--] Log file: /var/log/mysql-error.log(116K)
[OK] Log file /var/log/mysql-error.log exists
[OK] Log file /var/log/mysql-error.log is readable.
[OK] Log file /var/log/mysql-error.log is not empty
[OK] Log file /var/log/mysql-error.log is smaller than 32 Mb
[!!] /var/log/mysql-error.log contains 947 warning(s).
[!!] /var/log/mysql-error.log contains 38 error(s).
[--] 8 start(s) detected in /var/log/mysql-error.log
[--] 1) 2019-03-20 18:15:08 7573 [Note] /usr/sbin/mysqld: ready for connections.
[--] 2) 2018-09-25 14:55:36 4544 [Note] /usr/sbin/mysqld: ready for connections.
[--] 3) 2018-09-25 14:53:45 4130 [Note] /usr/sbin/mysqld: ready for connections.
[--] 4) 2018-09-25 14:47:08 3678 [Note] /usr/sbin/mysqld: ready for connections.
[--] 5) 2018-09-25 14:39:37 3247 [Note] /usr/sbin/mysqld: ready for connections.
[--] 6) 2018-09-25 14:28:57 2697 [Note] /usr/sbin/mysqld: ready for connections.
[--] 7) 2018-09-20 20:44:10 8995 [Note] /usr/sbin/mysqld: ready for connections.
[--] 8) 2018-09-19 17:53:10 5373 [Note] /usr/sbin/mysqld: ready for connections.
[--] 7 shutdown(s) detected in /var/log/mysql-error.log
[--] 1) 2019-03-20 18:15:06 4544 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 2) 2018-09-25 14:55:35 4130 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 3) 2018-09-25 14:53:44 3678 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 4) 2018-09-25 14:47:07 3247 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 5) 2018-09-25 14:39:36 2697 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 6) 2018-09-24 20:49:33 8995 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 7) 2018-09-20 20:44:09 5373 [Note] /usr/sbin/mysqld: Shutdown complete

-------- Storage Engine Statistics -----------------------------------------------------------------
[--] Status: +ARCHIVE +BLACKHOLE +CSV -FEDERATED +InnoDB +MEMORY +MRG_MYISAM +MyISAM +PERFORMANCE_SCHEMA 
[--] Data in MyISAM tables: 45.7G (Tables: 17)
[--] Data in InnoDB tables: 13.8G (Tables: 291)
[OK] Total fragmented tables: 0

-------- Analysis Performance Metrics --------------------------------------------------------------
[--] innodb_stats_on_metadata: OFF
[OK] No stat updates during querying INFORMATION_SCHEMA.

-------- Security Recommendations ------------------------------------------------------------------
[!!] User '@ip-192-168-0-1' is an anonymous account.
[!!] User '@localhost' is an anonymous account.
[!!] User '@ip-192-168-0-1' has no password set.
[!!] User '@localhost' has no password set.
[!!] User 'root@ip-192-168-0-1' has no password set.
[!!] User '@ip-192-168-0-1' has user name as password.
[!!] User '@localhost' has user name as password.
[!!] User 'VideoLogin@%' does not specify hostname restrictions.
[!!] User 'checksum_user@%' does not specify hostname restrictions.
[!!] User ' example_user2@%' does not specify hostname restrictions.
[!!] User ' example_user@%' does not specify hostname restrictions.
[!!] User ' example_blog_user@%' does not specify hostname restrictions.
[!!] User ' example_prod_user2@%' does not specify hostname restrictions.
[!!] User 'monyoguser@%' does not specify hostname restrictions.
[!!] User 'replicant_user@%' does not specify hostname restrictions.
[!!] There is no basic password file list!

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

-------- Performance Metrics -----------------------------------------------------------------------
[--] Up for: 14d 0h 46m 9s (172M q [141.915 qps], 7M conn, TX: 796G, RX: 58G)
[--] Reads / Writes: 92% / 8%
[--] Binary logging is disabled
[--] Physical Memory     : 30.6G
[--] Max MySQL memory    : 7.1G
[--] Other process memory: 0B
[--] Total buffers: 2.3G global + 8.9M per thread (500 max threads)
[--] P_S Max memory usage: 466M
[--] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 7.1G (23.09% of installed RAM)
[OK] Maximum possible memory usage: 7.1G (23.06% of installed RAM)
[OK] Overall possible memory usage with other process is compatible with memory available
[OK] Slow queries: 0% (2K/172M)
[!!] Highest connection usage: 100%  (501/500)
[!!] Aborted connections: 7.55%  (582759/7719581)
[!!] name resolution is active : a reverse name resolution is made for each new connection and can reduce performance
[!!] Query cache may be disabled by default due to mutex contention.
[!!] Query cache efficiency: 0.0% (0 cached / 163M selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (72K temp sorts / 71M sorts)
[!!] Joins performed without indexes: 4264297
[OK] Temporary tables created on disk: 6% (2M on disk / 45M total)
[OK] Thread cache hit rate: 99% (2K created / 7M connections)
[OK] Table cache hit rate: 80% (2K open / 2K opened)
[OK] Open file limit used: 0% (17/5K)
[OK] Table locks acquired immediately: 99% (362M immediate / 362M locks)

-------- Performance schema ------------------------------------------------------------------------
[--] Memory used by P_S: 466.5M
[--] Sys schema isn't installed.

-------- ThreadPool Metrics ------------------------------------------------------------------------
[--] ThreadPool stat is enabled.
[--] Thread Pool Size: 8 thread(s).
[!!] thread_pool_size between 16 and 36 when using InnoDB storage engine.

-------- MyISAM Metrics ----------------------------------------------------------------------------
[OK] Key buffer used: 100.0% (8M used / 8M cache)
[OK] Key buffer size / total MyISAM indexes: 8.0M/15.4G
[OK] Read Key buffer hit rate: 99.4% (3B cached / 19M reads)
[!!] Write Key buffer hit rate: 7.1% (56M cached / 4M writes)

-------- InnoDB Metrics ----------------------------------------------------------------------------
[--] InnoDB is enabled.
[--] InnoDB Thread Concurrency: 0
[OK] InnoDB File per table is activated
[!!] InnoDB buffer pool / data size: 2.0G/13.8G
[!!] Ratio InnoDB log file size / InnoDB Buffer pool size (4.6875 %): 48.0M * 2/2.0G should be equal to 25%
[!!] InnoDB buffer pool instances: 8
[--] InnoDB Buffer Pool Chunk Size not used or defined in your version
[OK] InnoDB Read buffer efficiency: 100.00% (585878182747 hits/ 585878431466 total)
[!!] InnoDB Write Log efficiency: 14.02% (1560370 hits/ 11130146 total)
[OK] InnoDB log waits: 0.00% (0 waits / 12690516 writes)

-------- AriaDB Metrics ----------------------------------------------------------------------------
[--] AriaDB is disabled.

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

-------- XtraDB Metrics ----------------------------------------------------------------------------
[--] XtraDB is disabled.

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

-------- Replication Metrics -----------------------------------------------------------------------
[--] Galera Synchronous replication: NO
[--] No replication slave(s) for this server.
[--] Binlog format: MIXED
[--] XA support enabled: ON
[--] Semi synchronous replication Master: Not Activated
[--] Semi synchronous replication Slave: Not Activated
[!!] This replication slave is running with the read_only option disabled.
[OK] This replication slave is up to date with master.

-------- Recommendations ---------------------------------------------------------------------------
General recommendations:
   Control warning line(s) into /var/log/mysql-error.log file
   Control error line(s) into /var/log/mysql-error.log file
   Remove Anonymous User accounts - there are 2 anonymous accounts.
   Set up a Password for user with the following SQL statement ( SET PASSWORD FOR 'user'@'SpecificDNSorIp' = PASSWORD('secure_password'); )
   Set up a Secure Password for user@host ( SET PASSWORD FOR 'user'@'SpecificDNSorIp' = PASSWORD('secure_password'); )
   Restrict Host for user@% to user@SpecificDNSorIp
   Reduce or eliminate persistent connections to reduce connection usage
   Reduce or eliminate unclosed connections and network issues
   Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1
   Adjust your join queries to always utilize indexes
   Consider installing Sys schema from https://github.com/mysql/mysql-sys for MySQL
   Consider installing Sys schema from https://github.com/good-dba/mariadb-sys for MariaDB
   Thread pool size for InnoDB usage (8)
   Before changing innodb_log_file_size and/or innodb_log_files_in_group read this: https://bit.ly/2TcGgtU
Variables to adjust:
   max_connections (> 500)
   wait_timeout (< 12000)
   interactive_timeout (< 12000)
   query_cache_size (=0)
   query_cache_type (=0)
   query_cache_limit (> 2G, or use smaller result sets)
   join_buffer_size (> 8.0M, or always use indexes with JOINs)
   thread_pool_size between 16 and 36 for InnoDB usage
   innodb_buffer_pool_size (>= 13.8G) if possible.
   innodb_log_file_size should be (=256M) if possible, so InnoDB total log files size equals to 25% of buffer pool size.
   innodb_buffer_pool_instances(=2)

ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 125397
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 125397
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

頂部(第一頁)

top - 20:57:42 up 190 days,  6:29,  1 user,  load average: 1.22, 1.55, 1.80
Tasks: 132 total,   1 running,  79 sleeping,   0 stopped,   0 zombie
Cpu0  : 61.1%us,  0.0%sy,  0.0%ni, 38.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  : 51.0%us,  0.3%sy,  0.0%ni, 48.3%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Cpu2  :  1.7%us,  0.0%sy,  0.0%ni, 98.0%id,  0.3%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  4.7%us,  0.3%sy,  0.0%ni, 95.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  : 12.3%us,  0.0%sy,  0.0%ni, 87.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  : 20.7%us,  0.0%sy,  0.0%ni, 79.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  :  8.7%us,  0.0%sy,  0.0%ni, 91.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  32122936k total, 31855776k used,   267160k free,   146636k buffers
Swap:        0k total,        0k used,        0k free, 26724136k cached
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
7573 mysql     20   0 7086m 4.2g  16m S 161.0 13.8  19425:22 mysqld
1 root      20   0 19692 2536 2204 S  0.0  0.0   0:02.48 init
2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
4 root       0 -20     0    0    0 I  0.0  0.0   0:00.00 kworker/0:0H
6 root       0 -20     0    0    0 I  0.0  0.0   0:00.00 mm_percpu_wq
7 root      20   0     0    0    0 S  0.0  0.0   0:31.66 ksoftirqd/0
8 root      20   0     0    0    0 I  0.0  0.0  23:34.49 rcu_sched
9 root      20   0     0    0    0 I  0.0  0.0   0:00.00 rcu_bh
10 root      RT   0     0    0    0 S  0.0  0.0   0:06.75 migration/0

顯示全球狀態

Aborted_clients | 188
Aborted_connects | 598078
Binlog_snapshot_file |
Binlog_snapshot_position | 0
Binlog_cache_disk_use | 0
Binlog_cache_use | 0
Binlog_stmt_cache_disk_use | 0
Binlog_stmt_cache_use | 0
Bytes_received | 68401945496
Bytes_sent | 921173454312
Com_admin_commands | 399297
Com_assign_to_keycache | 0
Com_alter_db | 0
Com_alter_db_upgrade | 0
Com_alter_event | 0
Com_alter_function | 0
Com_alter_procedure | 0
Com_alter_server | 0
Com_alter_table | 8
Com_alter_tablespace | 0
Com_alter_user | 0
Com_analyze | 0
Com_begin | 13400676
Com_binlog | 0
Com_call_procedure | 0
Com_change_db | 597274
Com_change_master | 0
Com_check | 0
Com_checksum | 0
Com_commit | 13400676
Com_create_compression_dictionary | 0
Com_create_db | 0
Com_create_event | 0
Com_create_function | 0
Com_create_index | 0
Com_create_procedure | 0
Com_create_server | 0
Com_create_table | 4
Com_create_trigger | 0
Com_create_udf | 0
Com_create_user | 0
Com_create_view | 0
Com_dealloc_sql | 0
Com_delete | 74431
Com_delete_multi | 0
Com_do | 0
Com_drop_compression_dictionary | 0
Com_drop_db | 0
Com_drop_event | 0
Com_drop_function | 0
Com_drop_index | 0
Com_drop_procedure | 0
Com_drop_server | 0
Com_drop_table | 3
Com_drop_trigger | 0
Com_drop_user | 0
Com_drop_view | 0
Com_empty_query | 0
Com_execute_sql | 0
Com_flush | 0
Com_get_diagnostics | 0
Com_grant | 0
Com_ha_close | 0
Com_ha_open | 0
Com_ha_read | 0
Com_help | 0
Com_insert | 13953020
Com_insert_select | 3
Com_install_plugin | 0
Com_kill | 0
Com_load | 0
Com_lock_tables | 0
Com_lock_tables_for_backup | 0
Com_lock_binlog_for_backup | 0
Com_optimize | 0
Com_preload_keys | 0
Com_prepare_sql | 0
Com_purge | 0
Com_purge_before_date | 0
Com_purge_archived | 0
Com_purge_archived_before_date | 0
Com_release_savepoint | 0
Com_rename_table | 0
Com_rename_user | 0
Com_repair | 0
Com_replace | 0
Com_replace_select | 0
Com_reset | 0
Com_resignal | 0
Com_revoke | 0
Com_revoke_all | 0
Com_rollback | 0
Com_rollback_to_savepoint | 0
Com_savepoint | 0
Com_select | 178583971
Com_set_option | 597272
Com_signal | 0
Com_show_binlog_events | 0
Com_show_binlogs | 0
Com_show_charsets | 0
Com_show_client_statistics | 0
Com_show_collations | 0
Com_show_create_db | 0
Com_show_create_event | 0
Com_show_create_func | 0
Com_show_create_proc | 0
Com_show_create_table | 0
Com_show_create_trigger | 0
Com_show_databases | 4
Com_show_engine_logs | 0
Com_show_engine_mutex | 0
Com_show_engine_status | 6
Com_show_events | 0
Com_show_errors | 0
Com_show_fields | 534
Com_show_function_code | 0
Com_show_function_status | 0
Com_show_grants | 0
Com_show_index_statistics | 0
Com_show_keys | 0
Com_show_master_status | 0
Com_show_open_tables | 0
Com_show_plugins | 0
Com_show_privileges | 0
Com_show_procedure_code | 0
Com_show_procedure_status | 0
Com_show_processlist | 41
Com_show_profile | 0
Com_show_profiles | 0
Com_show_relaylog_events | 0
Com_show_slave_hosts | 1
Com_show_slave_status | 25
Com_show_slave_status_nolock | 0
Com_show_status | 4
Com_show_storage_engines | 1
Com_show_table_statistics | 0
Com_show_table_status | 5
Com_show_tables | 3
Com_show_thread_statistics | 0
Com_show_triggers | 0
Com_show_user_statistics | 0
Com_show_variables | 16
Com_show_warnings | 0
Com_slave_start | 0
Com_slave_stop | 0
Com_stmt_close | 0
Com_stmt_execute | 0
Com_stmt_fetch | 0
Com_stmt_prepare | 0
Com_stmt_reprepare | 0
Com_stmt_reset | 0
Com_stmt_send_long_data | 0
Com_truncate | 17
Com_uninstall_plugin | 0
Com_unlock_binlog | 0
Com_unlock_tables | 0
Com_update | 301834
Com_update_multi | 0
Com_xa_commit | 0
Com_xa_end | 0
Com_xa_prepare | 0
Com_xa_recover | 0
Com_xa_rollback | 0
Com_xa_start | 0
Compression | OFF
Connection_errors_accept | 0
Connection_errors_internal | 0
Connection_errors_max_connections | 906
Connection_errors_peer_address | 0
Connection_errors_select | 0
Connection_errors_tcpwrap | 0
Connections | 8322384
Created_tmp_disk_tables | 2968183
Created_tmp_files | 156407
Created_tmp_tables | 49504559
Delayed_errors | 0
Delayed_insert_threads | 0
Delayed_writes | 0
Flush_commands | 1
Handler_commit | 181607080
Handler_delete | 235522
Handler_discover | 0
Handler_external_lock | 793032093
Handler_mrr_init | 0
Handler_prepare | 0
Handler_read_first | 95949114
Handler_read_key | 15736613263
Handler_read_last | 320024
Handler_read_next | 27986434744
Handler_read_prev | 2047041159
Handler_read_rnd | 848738968
Handler_read_rnd_next | 2189400389996
Handler_rollback | 439
Handler_savepoint | 0
Handler_savepoint_rollback | 0
Handler_update | 70008383
Handler_write | 546877007
Innodb_buffer_pool_dump_status | not started
Innodb_buffer_pool_load_status | not started
Innodb_background_log_sync | 1297631
Innodb_buffer_pool_pages_data | 134545
Innodb_buffer_pool_bytes_data | 1899012096
Innodb_buffer_pool_pages_dirty | 3
Innodb_buffer_pool_bytes_dirty | 49152
Innodb_buffer_pool_pages_flushed | 4146897
Innodb_buffer_pool_pages_LRU_flushed | 0
Innodb_buffer_pool_pages_free | 8195
Innodb_buffer_pool_pages_made_not_young | 5887687
Innodb_buffer_pool_pages_made_young | 4643798
Innodb_buffer_pool_pages_misc | 18446744073709539940
Innodb_buffer_pool_pages_old | 49503
Innodb_buffer_pool_pages_total | 131064
Innodb_buffer_pool_read_ahead_rnd | 0
Innodb_buffer_pool_read_ahead | 26555
Innodb_buffer_pool_read_ahead_evicted | 0
Innodb_buffer_pool_read_requests | 644536019865
Innodb_buffer_pool_reads | 282390
Innodb_buffer_pool_wait_free | 0
Innodb_buffer_pool_write_requests | 114720924
Innodb_checkpoint_age | 282
Innodb_checkpoint_max_age | 80826164
Innodb_data_fsyncs | 15323989
Innodb_data_pending_fsyncs | 0
Innodb_data_pending_reads | 0
Innodb_data_pending_writes | 0
Innodb_data_read | 5618045440
Innodb_data_reads | 349481
Innodb_data_writes | 18637912
Innodb_data_written | 147474384384
Innodb_dblwr_pages_written | 4146897
Innodb_dblwr_writes | 442327
Innodb_deadlocks | 0
Innodb_have_atomic_builtins | ON
Innodb_history_list_length | 1962
Innodb_ibuf_discarded_delete_marks | 0
Innodb_ibuf_discarded_deletes | 0
Innodb_ibuf_discarded_inserts | 0
Innodb_ibuf_free_list | 2939
Innodb_ibuf_merged_delete_marks | 6654
Innodb_ibuf_merged_deletes | 716
Innodb_ibuf_merged_inserts | 52140
Innodb_ibuf_merges | 44202
Innodb_ibuf_segment_size | 2941
Innodb_ibuf_size | 1
Innodb_log_waits | 0
Innodb_log_write_requests | 11516160
Innodb_log_writes | 13608967
Innodb_lsn_current | 96290897160
Innodb_lsn_flushed | 96290897150
Innodb_lsn_last_checkpoint | 96290896878
Innodb_master_thread_active_loops | 546529
Innodb_master_thread_idle_loops | 751233
Innodb_max_trx_id | 1139413513
Innodb_mem_adaptive_hash | 151439648
Innodb_mem_dictionary | 11296540
Innodb_mem_total | 2235564032
Innodb_mutex_os_waits | 507596
Innodb_mutex_spin_rounds | 27997014
Innodb_mutex_spin_waits | 20885224
Innodb_oldest_view_low_limit_trx_id | 1139413513
Innodb_os_log_fsyncs | 14028998
Innodb_os_log_pending_fsyncs | 0
Innodb_os_log_pending_writes | 0
Innodb_os_log_written | 12257879040
Innodb_page_size | 16384
Innodb_pages_created | 202366
Innodb_pages_read | 349075
Innodb_pages_written | 4146897
Innodb_purge_trx_id | 1139412579
Innodb_purge_undo_no | 0
Innodb_row_lock_current_waits | 0
Innodb_current_row_locks | 0
Innodb_row_lock_time | 0
Innodb_row_lock_time_avg | 0
Innodb_row_lock_time_max | 0
Innodb_row_lock_waits | 0
Innodb_rows_deleted | 235522
Innodb_rows_inserted | 1466066
Innodb_rows_read | 2204661073658
Innodb_rows_updated | 329582
Innodb_num_open_files | 344
Innodb_read_views_memory | 440
Innodb_descriptors_memory | 8000
Innodb_s_lock_os_waits | 1332029
Innodb_s_lock_spin_rounds | 46935583
Innodb_s_lock_spin_waits | 3127215
Innodb_truncated_status_writes | 0
Innodb_available_undo_logs | 128
Innodb_x_lock_os_waits | 38593
Innodb_x_lock_spin_rounds | 7917277
Innodb_x_lock_spin_waits | 2163707
Innodb_secondary_index_triggered_cluster_reads | 4334825395
Innodb_secondary_index_triggered_cluster_reads_avoided | 429
Innodb_buffered_aio_submitted | 26555
Innodb_scan_pages_contiguous | 0
Innodb_scan_pages_disjointed | 0
Innodb_scan_pages_total_seek_distance | 0
Innodb_scan_data_size | 0
Innodb_scan_deleted_recs_size | 0
Key_blocks_not_flushed | 0
Key_blocks_unused | 0
Key_blocks_used | 6698
Key_read_requests | 3369602336
Key_reads | 21108363
Key_write_requests | 59873121
Key_writes | 4100852
Last_query_cost | 0.000000
Last_query_partial_plans | 0
Max_statement_time_exceeded | 0
Max_statement_time_set | 0
Max_statement_time_set_failed | 0
Max_used_connections | 501
Not_flushed_delayed_rows | 0
Open_files | 89
Open_streams | 0
Open_table_definitions | 388
Open_tables | 2000
Opened_files | 12113558
Opened_table_definitions | 429
Opened_tables | 2784
Performance_schema_accounts_lost | 0
Performance_schema_cond_classes_lost | 0
Performance_schema_cond_instances_lost | 0
Performance_schema_digest_lost | 0
Performance_schema_file_classes_lost | 0
Performance_schema_file_handles_lost | 0
Performance_schema_file_instances_lost | 0
Performance_schema_hosts_lost | 0
Performance_schema_locker_lost | 0
Performance_schema_mutex_classes_lost | 0
Performance_schema_mutex_instances_lost | 0
Performance_schema_rwlock_classes_lost | 0
Performance_schema_rwlock_instances_lost | 0
Performance_schema_session_connect_attrs_lost | 0
Performance_schema_socket_classes_lost | 0
Performance_schema_socket_instances_lost | 0
Performance_schema_stage_classes_lost | 0
Performance_schema_statement_classes_lost | 0
Performance_schema_table_handles_lost | 148504676
Performance_schema_table_instances_lost | 0
Performance_schema_thread_classes_lost | 0
Performance_schema_thread_instances_lost | 0
Performance_schema_users_lost | 0
Prepared_stmt_count | 0
Qcache_free_blocks | 1
Qcache_free_memory | 1031320
Qcache_hits | 0
Qcache_inserts | 0
Qcache_lowmem_prunes | 0
Qcache_not_cached | 178580890
Qcache_queries_in_cache | 0
Qcache_total_blocks | 1
Queries | 215849146
Questions | 187503274
Rsa_public_key |
Select_full_join | 4681703
Select_full_range_join | 112
Select_range | 20703146
Select_range_check | 0
Select_scan | 104388543
Slave_heartbeat_period | 1800.000
Slave_last_heartbeat |
Slave_open_temp_tables | 0
Slave_received_heartbeats | 0
Slave_retried_transactions | 0
Slave_running | ON
Slow_launch_threads | 0
Slow_queries | 3741
Sort_merge_passes | 78193
Sort_range | 10664992
Sort_rows | 1756282916
Sort_scan | 67615625
Ssl_accept_renegotiates | 0
Ssl_accepts | 0
Ssl_callback_cache_hits | 0
Ssl_cipher |
Ssl_cipher_list |
Ssl_client_connects | 0
Ssl_connect_renegotiates | 0
Ssl_ctx_verify_depth | 0
Ssl_ctx_verify_mode | 0
Ssl_default_timeout | 0
Ssl_finished_accepts | 0
Ssl_finished_connects | 0
Ssl_server_not_after |
Ssl_server_not_before |
Ssl_session_cache_hits | 0
Ssl_session_cache_misses | 0
Ssl_session_cache_mode | NONE
Ssl_session_cache_overflows | 0
Ssl_session_cache_size | 0
Ssl_session_cache_timeouts | 0
Ssl_sessions_reused | 0
Ssl_used_session_cache_entries | 0
Ssl_verify_depth | 0
Ssl_verify_mode | 0
Ssl_version |
Table_locks_immediate | 396422340
Table_locks_waited | 1671
Table_open_cache_hits | 396433263
Table_open_cache_misses | 2782
Table_open_cache_overflows | 679
Tc_log_max_pages_used | 0
Tc_log_page_size | 0
Tc_log_page_waits | 0
Threadpool_idle_threads | 0
Threadpool_threads | 0
Threads_cached | 12
Threads_connected | 2
Threads_created | 2763
Threads_running | 2
Uptime | 1300346
Uptime_since_flush_status | 1300346

我的.cnf

[mysqld]
datadir=/var/lib/mysql
ft_min_word_len=1
user=mysql
bind-address=0.0.0.0
lower_case_table_names=1
general_log_file=/var/log/mysql.log
log-error=/var/log/mysql-error.log
max_connections=500
wait_timeout=12000
interactive_timeout=12000
query_cache_limit=2G
max_allowed_packet = 256M
join_buffer_size=8M
tmp_table_size=256M
max_heap_table_size=256M
innodb_buffer_pool_size=2147483648
innodb_file_format=Barracuda
innodb_file_format_max=Barracuda
innodb_file_per_table=1
innodb_large_prefix=1
default-time-zone="America/New_York"
max_connect_errors=1000
server-id=2224
binlog-format=mixed

有一個簡單的答案:盡可能減少連接數。良好的價值是 120%

Max_used_connections | 501

正如我所看到的,當您用完 f 個連接時,出現了一個問題。

重新考慮您的應用程序使用與數據庫的連接的方式,也許它沒有正確關閉它們?進行監控

Threads_connected

狀態變數 如果 Threads_connected 達到 max_connections 的 70%,您的監控應該發送警報,並且您必須連接到數據庫並調試哪個使用者使用最多的連接。

查詢調試:

select count(*),user from information_schema.processlist group by user order by count(*) desc;

如果您完全確定您的應用程序使用的連接數不超過 X,請開始優化 RAM

如有必要,增加 RAM。如果監控中Threads_connected的平均值比較小,並且有幾個spike就說明問題了,可以把max_connections設置為3個月Threads_connected最大值的120%,Max_used_connections只會辨識spikes,這可能是無關緊要,因為應用程序可能存在問題,導致大量連接/未關閉以前的連接。

每秒速率=RPS - 為您的 my.cnf 考慮的建議

$$ mysqld $$部分(在使用 SET GLOBAL variable_name=value (K,M,G *1024, 1-2-3 分別進行測試後)

read_rnd_buffer_size=192K  # from 256K to reduce handler_read_rnd_next RPS of 1,683,707
read_buffer_size=256K  # from 128K to reduce handler_read_next RPS of 21,522
thread_cache_size=100  # from 13 to reduce threads_created of 2,763 in 15 days
innodb_io_capacity=1800  # from 200 to allow higher IOPS on your SSD storage devices
max_connections=600  # from 500 to reduce connection_errors_max_connections of 906 in 15 days
key_cache_age_threshold=7200   # from 300 seconds to reduce key_reads RPS of 16+
key_buffer_size=64M  # from 8M to reduce key_reads RPS of 16+

免責聲明:我是我的個人資料網路配置文件中提到的網站內容的作者,並且可以提供額外的建議/實用程序腳本來提高性能。

引用自:https://dba.stackexchange.com/questions/233886