因为要用到事务,把表的引擎改innodb,改了之后CPU占用率居高不下.
重启mysql服务后CPU占用率会下降,可是过一会又上去了.不知道该怎么解决?
我怀疑是innodb配置问题
我把我的my.ini配置贴一下
innodb_additional_mem_pool_size=16M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=5M
innodb_buffer_pool_size=800M
innodb_log_file_size=90M
innodb_thread_concurrency=18
还有我的服务器配置
四核X5450 内存4GB
大虾们帮我优化下mysql 解决后就送100分!
重启mysql服务后CPU占用率会下降,可是过一会又上去了.不知道该怎么解决?
我怀疑是innodb配置问题
我把我的my.ini配置贴一下
innodb_additional_mem_pool_size=16M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=5M
innodb_buffer_pool_size=800M
innodb_log_file_size=90M
innodb_thread_concurrency=18
还有我的服务器配置
四核X5450 内存4GB
大虾们帮我优化下mysql 解决后就送100分!
+-----------------------------------+------------+
| Variable_name | Value |
+-----------------------------------+------------+
| Aborted_clients | 0 |
| Aborted_connects | 41 |
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
| Bytes_received | 115 |
| Bytes_sent | 180 |
| Com_admin_commands | 0 |
| Com_alter_db | 0 |
| Com_alter_table | 0 |
| Com_analyze | 0 |
| Com_backup_table | 0 |
| Com_begin | 0 |
| Com_call_procedure | 0 |
| Com_change_db | 0 |
| Com_change_master | 0 |
| Com_check | 0 |
| Com_checksum | 0 |
| Com_commit | 0 |
| Com_create_db | 0 |
| Com_create_function | 0 |
| Com_create_index | 0 |
| Com_create_table | 0 |
| Com_create_user | 0 |
| Com_dealloc_sql | 0 |
| Com_delete | 0 |
| Com_delete_multi | 0 |
| Com_do | 0 |
| Com_drop_db | 0 |
| Com_drop_function | 0 |
| Com_drop_index | 0 |
| Com_drop_table | 0 |
| Com_drop_user | 0 |
| Com_execute_sql | 0 |
| Com_flush | 0 |
| Com_grant | 0 |
| Com_ha_close | 0 |
| Com_ha_open | 0 |
| Com_ha_read | 0 |
| Com_help | 0 |
| Com_insert | 0 |
| Com_insert_select | 0 |
| Com_kill | 0 |
| Com_load | 0 |
| Com_load_master_data | 0 |
| Com_load_master_table | 0 |
| Com_lock_tables | 0 |
| Com_optimize | 0 |
| Com_preload_keys | 0 |
| Com_prepare_sql | 0 |
| Com_purge | 0 |
| Com_purge_before_date | 0 |
| Com_rename_table | 0 |
| Com_repair | 0 |
| Com_replace | 0 |
| Com_replace_select | 0 |
| Com_reset | 0 |
| Com_restore_table | 0 |
| Com_revoke | 0 |
| Com_revoke_all | 0 |
| Com_rollback | 0 |
| Com_savepoint | 0 |
| Com_select | 1 |
| Com_set_option | 0 |
| Com_show_binlog_events | 0 |
| Com_show_binlogs | 0 |
| Com_show_charsets | 0 |
| Com_show_collations | 0 |
| Com_show_column_types | 0 |
| Com_show_create_db | 0 |
| Com_show_create_table | 0 |
| Com_show_databases | 0 |
| Com_show_errors | 0 |
| Com_show_fields | 0 |
| Com_show_grants | 0 |
| Com_show_innodb_status | 0 |
| Com_show_keys | 0 |
| Com_show_logs | 0 |
| Com_show_master_status | 0 |
| Com_show_ndb_status | 0 |
| Com_show_new_master | 0 |
| Com_show_open_tables | 0 |
| Com_show_privileges | 0 |
| Com_show_processlist | 0 |
| Com_show_slave_hosts | 0 |
| Com_show_slave_status | 0 |
| Com_show_status | 1 |
| Com_show_storage_engines | 0 |
| Com_show_tables | 0 |
| Com_show_triggers | 0 |
| Com_show_variables | 0 |
| 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_reset | 0 |
| Com_stmt_send_long_data | 0 |
| Com_truncate | 0 |
| Com_unlock_tables | 0 |
| Com_update | 0 |
| 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 |
| Connections | 20024 |
| Created_tmp_disk_tables | 0 |
| Created_tmp_files | 275 |
| Created_tmp_tables | 1 |
| Delayed_errors | 0 |
| Delayed_insert_threads | 0 |
| Flush_commands | 1 |
| Handler_commit | 0 |
| Handler_delete | 0 |
| Handler_discover | 0 |
| Handler_prepare | 0 |
| Handler_read_first | 0 |
| Handler_read_key | 0 |
| Handler_read_next | 0 |
| Handler_read_prev | 0 |
| Handler_read_rnd | 0 |
| Handler_read_rnd_next | 0 |
| Handler_rollback | 0 |
| Handler_savepoint | 0 |
| Handler_savepoint_rollback | 0 |
| Handler_update | 0 |
| Handler_write | 132 |
| Innodb_buffer_pool_pages_data | 6104 |
| Innodb_buffer_pool_pages_dirty | 35 |
| Innodb_buffer_pool_pages_flushed | 7938 |
| Innodb_buffer_pool_pages_free | 44582 |
| Innodb_buffer_pool_pages_misc | 514 |
| Innodb_buffer_pool_pages_total | 51200 |
| Innodb_buffer_pool_read_ahead_rnd | 8 |
| Innodb_buffer_pool_read_ahead_seq | 53 |
| Innodb_buffer_pool_read_requests | 489272431 |
| Innodb_buffer_pool_reads | 2831 |
| Innodb_buffer_pool_wait_free | 0 |
| Innodb_buffer_pool_write_requests | 59090 |
| Innodb_data_fsyncs | 11529 |
| Innodb_data_pending_fsyncs | 0 |
| Innodb_data_pending_reads | 0 |
| Innodb_data_pending_writes | 0 |
| Innodb_data_read | 101830656 |
| Innodb_data_reads | 6092 |
| Innodb_data_writes | 19070 |
| Innodb_data_written | 269387264 |
| Innodb_dblwr_pages_written | 7938 |
| Innodb_dblwr_writes | 413 |
| Innodb_log_waits | 0 |
| Innodb_log_write_requests | 9353 |
| Innodb_log_writes | 10490 |
| Innodb_os_log_fsyncs | 10705 |
| Innodb_os_log_pending_fsyncs | 0 |
| Innodb_os_log_pending_writes | 0 |
| Innodb_os_log_written | 9164800 |
| Innodb_page_size | 16384 |
| Innodb_pages_created | 22 |
| Innodb_pages_read | 6082 |
| Innodb_pages_written | 7938 |
| Innodb_row_lock_current_waits | 0 |
| Innodb_row_lock_time | 11390 |
| Innodb_row_lock_time_avg | 210 |
| Innodb_row_lock_time_max | 968 |
| Innodb_row_lock_waits | 54 |
| Innodb_rows_deleted | 474 |
| Innodb_rows_inserted | 2619 |
| Innodb_rows_read | 1703537657 |
| Innodb_rows_updated | 7217 |
| Key_blocks_not_flushed | 0 |
| Key_blocks_unused | 195730 |
| Key_blocks_used | 21 |
| Key_read_requests | 249 |
| Key_reads | 38 |
| Key_write_requests | 83 |
| Key_writes | 83 |
| Last_query_cost | 0.000000 |
| Max_used_connections | 9 |
| Not_flushed_delayed_rows | 0 |
| Open_files | 4 |
| Open_streams | 0 |
| Open_tables | 46 |
| Opened_tables | 0 |
| Prepared_stmt_count | 0 |
| Qcache_free_blocks | 3106 |
| Qcache_free_memory | 155627376 |
| Qcache_hits | 230715 |
| Qcache_inserts | 1387555 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 483889 |
| Qcache_queries_in_cache | 4071 |
| Qcache_total_blocks | 11283 |
| Queries | 2198495 |
| Questions | 2 |
| Rpl_status | NULL |
| Select_full_join | 0 |
| Select_full_range_join | 0 |
| Select_range | 0 |
| Select_range_check | 0 |
| Select_scan | 1 |
| Slave_open_temp_tables | 0 |
| Slave_retried_transactions | 0 |
| Slave_running | OFF |
| Slow_launch_threads | 0 |
| Slow_queries | 0 |
| Sort_merge_passes | 0 |
| Sort_range | 0 |
| Sort_rows | 0 |
| Sort_scan | 0 |
| 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_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 | 1923514 |
| Table_locks_waited | 0 |
| Tc_log_max_pages_used | 0 |
| Tc_log_page_size | 0 |
| Tc_log_page_waits | 0 |
| Threads_cached | 8 |
| Threads_connected | 1 |
| Threads_created | 9 |
| Threads_running | 1 |
| Uptime | 2156 |
| Uptime_since_flush_status | 2156 |
+-----------------------------------+------------+
innodb_log_file_size=1200M
这两个该大点试试
| Innodb_buffer_pool_reads | 2831 | -----------------------------------
这个命中率很高了,理论上innodb_buffer_pool_size参数已经够了我看了下,你insert得很频繁:Qcache_inserts | 1387555
把query_cache设置小点看看
还有Connections | 20024 | --这个连接数太多了吧?有这么夸张吗?检查下并发和连接的情况
| Connections | 364071 |
Connections 更大了
| Qcache_free_memory | 124110480 |
| Qcache_hits | 418880722 |
| Qcache_inserts | 121218584 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 222409861 |
| Qcache_queries_in_cache | 32993 |
| Qcache_total_blocks | 70912 |
| Queries | 1060446184 |
| Questions | 1 |
1. 瓶颈为CPU, 更换大的CPU.
2. 你的语句根本就么有优化,导致CPU频繁的处理磁盘IO等待上了。
看不到具体的实际环境情况,你试下按如下方法优化下吧:
稍适当增大一点query_cache_size;若你的这台服务器是专给msyql用的,不会跑其他业务,那修改如下参数:
innodb_flush_log_at_trx_commit=0 (若你允许存在丢失最近部分事务的前提下)
innodb_log_buffer_size=8M
innodb_buffer_pool_size=2560M
innodb_log_file_size=512M适当系统空闲时,对一些系统关键的大表执行:
analyze table tb_name;
optimize table tb_name;若问题还没得到解决:
则设置log_slow_queries、long_query_time启动“慢查询日志”抓取问题语句用explain分析问题语句,确定索引是否正常利用上。-----------------------------------------------
通过上面的一系列还得不到解决:
那检查系统的可能存在瓶颈的业务处理逻辑是否还存在优化的余地;
考虑升级硬件(更快的硬盘、合理的raid方式、更快的cpu);
考虑系统架构的变更;大概就先写这么多吧。
+-----------------------------------+------------+
| Variable_name | Value |
+-----------------------------------+------------+
| Aborted_clients | 523 |
| Aborted_connects | 19 |
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
| Bytes_received | 115 |
| Bytes_sent | 176 |
| Com_admin_commands | 0 |
| 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 | 0 |
| Com_alter_tablespace | 0 |
| Com_analyze | 0 |
| Com_backup_table | 0 |
| Com_begin | 0 |
| Com_binlog | 0 |
| Com_call_procedure | 0 |
| Com_change_db | 0 |
| Com_change_master | 0 |
| Com_check | 0 |
| Com_checksum | 0 |
| Com_commit | 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 | 0 |
| Com_create_trigger | 0 |
| Com_create_udf | 0 |
| Com_create_user | 0 |
| Com_create_view | 0 |
| Com_dealloc_sql | 0 |
| Com_delete | 0 |
| Com_delete_multi | 0 |
| Com_do | 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 | 0 |
| Com_drop_trigger | 0 |
| Com_drop_user | 0 |
| Com_drop_view | 0 |
| Com_empty_query | 0 |
| Com_execute_sql | 0 |
| Com_flush | 0 |
| Com_grant | 0 |
| Com_ha_close | 0 |
| Com_ha_open | 0 |
| Com_ha_read | 0 |
| Com_help | 0 |
| Com_insert | 0 |
| Com_insert_select | 0 |
| Com_install_plugin | 0 |
| Com_kill | 0 |
| Com_load | 0 |
| Com_load_master_data | 0 |
| Com_load_master_table | 0 |
| Com_lock_tables | 0 |
| Com_optimize | 0 |
| Com_preload_keys | 0 |
| Com_prepare_sql | 0 |
| Com_purge | 0 |
| Com_purge_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_restore_table | 0 |
| Com_revoke | 0 |
| Com_revoke_all | 0 |
| Com_rollback | 0 |
| Com_rollback_to_savepoint | 0 |
| Com_savepoint | 0 |
| Com_select | 1 |
| Com_set_option | 0 |
| Com_show_authors | 0 |
| Com_show_binlog_events | 0 |
| Com_show_binlogs | 0 |
| Com_show_charsets | 0 |
| Com_show_collations | 0 |
| Com_show_column_types | 0 |
| Com_show_contributors | 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 | 0 |
| Com_show_engine_logs | 0 |
| Com_show_engine_mutex | 0 |
| Com_show_engine_status | 0 |
| Com_show_events | 0 |
| Com_show_errors | 0 |
| Com_show_fields | 0 |
| Com_show_function_status | 0 |
| Com_show_grants | 0 |
| Com_show_keys | 0 |
| Com_show_master_status | 0 |
| Com_show_new_master | 0 |
| Com_show_open_tables | 0 |
| Com_show_plugins | 0 |
| Com_show_privileges | 0 |
| Com_show_procedure_status | 0 |
| Com_show_processlist | 0 |
| Com_show_profile | 0 |
| Com_show_profiles | 0 |
| Com_show_slave_hosts | 0 |
| Com_show_slave_status | 0 |
| Com_show_status | 1 |
| Com_show_storage_engines | 0 |
| Com_show_table_status | 0 |
| Com_show_tables | 0 |
| Com_show_triggers | 0 |
| Com_show_variables | 0 |
| 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 | 0 |
| Com_uninstall_plugin | 0 |
| Com_unlock_tables | 0 |
| Com_update | 0 |
| 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 |
| Connections | 1407 |
| Created_tmp_disk_tables | 0 |
| Created_tmp_files | 118404 |
| Created_tmp_tables | 0 |
| Delayed_errors | 0 |
| Delayed_insert_threads | 0 |
| Delayed_writes | 0 |
| Flush_commands | 1 |
| Handler_commit | 0 |
| Handler_delete | 0 |
| Handler_discover | 0 |
| Handler_prepare | 0 |
| Handler_read_first | 0 |
| Handler_read_key | 0 |
| Handler_read_next | 0 |
| Handler_read_prev | 0 |
| Handler_read_rnd | 0 |
| Handler_read_rnd_next | 0 |
| Handler_rollback | 0 |
| Handler_savepoint | 0 |
| Handler_savepoint_rollback | 0 |
| Handler_update | 0 |
| Handler_write | 0 |
| Innodb_buffer_pool_pages_dirty | 96 |
| Innodb_buffer_pool_pages_flushed | 493023 |
| Innodb_buffer_pool_pages_free | 23540 |
| Innodb_buffer_pool_pages_misc | 353 |
| Innodb_buffer_pool_pages_total | 32768 |
| Innodb_buffer_pool_read_ahead_rnd | 12 |
| Innodb_buffer_pool_read_ahead_seq | 20 |
| Innodb_buffer_pool_read_requests | 3191466951 |
| Innodb_buffer_pool_reads | 6166 |
| Innodb_buffer_pool_wait_free | 0 |
| Innodb_buffer_pool_write_requests | 2036196 |
| Innodb_data_fsyncs | 317933 |
| Innodb_data_pending_fsyncs | 0 |
| Innodb_data_pending_reads | 0 |
| Innodb_data_pending_writes | 0 |
| Innodb_data_read | 116985856 |
| Innodb_data_reads | 7017 |
| Innodb_data_writes | 764368 |
| Innodb_data_written | 3513872384 |
| Innodb_dblwr_pages_written | 493023 |
| Innodb_dblwr_writes | 48198 |
| Innodb_log_waits | 0 |
| Innodb_log_write_requests | 389937 |
| Innodb_log_writes | 178250 |
| Innodb_os_log_fsyncs | 221510 |
| Innodb_os_log_pending_fsyncs | 0 |
| Innodb_os_log_pending_writes | 0 |
| Innodb_os_log_written | 221245952 |
| Innodb_page_size | 16384 |
| Innodb_pages_created | 1868 |
| Innodb_pages_read | 7007 |
| Innodb_pages_written | 493023 |
| Innodb_row_lock_current_waits | 0 |
| Innodb_row_lock_time | 53562 |
| Innodb_row_lock_time_avg | 3347 |
| Innodb_row_lock_time_max | 45937 |
| Innodb_row_lock_waits | 16 |
| Innodb_rows_deleted | 13930 |
| Innodb_rows_inserted | 98880 |
| Innodb_rows_read | 1717611008 |
| Innodb_rows_updated | 182268 |
| Key_blocks_not_flushed | 0 |
| Key_blocks_unused | 229554 |
| Key_blocks_used | 46 |
| Key_read_requests | 2641518 |
| Key_reads | 0 |
| Key_write_requests | 730317 |
| Key_writes | 0 |
| Last_query_cost | 0.000000 |
| Max_used_connections | 63 |
| Not_flushed_delayed_rows | 0 |
| Open_files | 1 |
| Open_streams | 0 |
| Open_table_definitions | 108 |
| Open_tables | 61 |
| Opened_files | 6191638 |
| Opened_table_definitions | 0 |
| Opened_tables | 0 |
| Prepared_stmt_count | 2 |
| Qcache_free_blocks | 0 |
| Qcache_free_memory | 0 |
| Qcache_hits | 0 |
| Qcache_inserts | 0 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 0 |
| Qcache_queries_in_cache | 0 |
| Qcache_total_blocks | 0 |
| Queries | 75701477 |
| Questions | 2 |
| Rpl_status | NULL |
| Select_full_join | 0 |
| Select_full_range_join | 0 |
| Select_range | 0 |
| Select_range_check | 0 |
| Select_scan | 0 |
| Slave_open_temp_tables | 0 |
| Slave_retried_transactions | 0 |
| Slave_running | OFF |
| Slow_launch_threads | 0 |
| Slow_queries | 0 |
| Sort_merge_passes | 0 |
| Sort_range | 0 |
| Sort_rows | 0 |
| Sort_scan | 0 |
| 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_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 | 29546432 |
| Table_locks_waited | 0 |
| Tc_log_max_pages_used | 0 |
| Tc_log_page_size | 0 |
| Tc_log_page_waits | 0 |
| Threads_cached | 40 |
| Threads_connected | 23 |
| Threads_created | 63 |
| Threads_running | 3 |
| Uptime | 2781042 |
| Uptime_since_flush_status | 2781042 |
+-----------------------------------+------------+
291 rows in set (0.00 sec)mysql>