MySQL 内存消耗和 CPU 使用率影响服务器性能

MySQL 内存消耗和 CPU 使用率影响服务器性能

每天在高峰时段,我的服务器都会变得很慢或宕机。我们的托管服务提供商坚持要求我们升级服务器,但我认为存在一些性能调优问题。

添加下面的进程信息、服务器配置和my.cnf参数。

处理信息

 PID  USER       PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                  
 60848 mysql     20   0 34.8g  23g 6416 S 2196.2 82.1  16027:29 mysqld 

专用服务器配置

Size:   'Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz', 2600MHz, 6 Core, Sockets: 2    
Image:  CentOS 6 64-bit with cPanel Fully-managed   
CPU:    Intel Dual Xeon E5-2620 v3
Speed:  2600MHz 
RAM:    32067MB 
CPUs:   2 Physical CPUs
Cores:  12 
Total Cores RAID:   Level 10
Disks:  4
Size:   917GB   
Type:   SSD 

MySQL 配置

[mysqld]
slow_query_log = 1
#long_query_time = 2
long_query_time = 2
slow_query_log_file = /var/lib/mysql/vps-slow.log
performance-schema=0
max_connections = 250
max_allowed_packet=128M
#skip-external-locking
key_buffer_size = 256M
open_files_limit = 50000
table_open_cache = 15000
sort_buffer_size = 6M
join_buffer_size = 6M
read_buffer_size = 1M
read_rnd_buffer_size = 15M
myisam_sort_buffer_size = 64M
query_cache_type=1
query_cache_limit=2M
query_cache_size=128M
max_heap_table_size = 96M
tmp_table_size = 96M
#low_priority_updates=1

thread_cache_size = 32
wait_timeout = 300
connect_timeout=15
interactive_timeout = 800

innodb_buffer_pool_size=4096M
innodb_buffer_pool_instances = 4

group_concat_max_len=1000000

default-storage-engine=MyISAM
innodb_file_per_table=1

[mysqldump]
quick

如果配置有任何问题,请帮助我?

或者

我真的需要升级服务器吗?

PS:在同一台服务器上托管 Web 应用程序。还启用了 WHM 以方便管理。

答案1

建议您的 my.cnf-ini [mysqld] 部分

innodb_buffer_pool_size=4G  # from 4096M  - instances will be evenly divisible
#sort_buffer_size=6M  lead with # for default
#read_buffer_size=1M  lead with # for default
#read_rnd_buffer_size=15M  lead with # for default
#join_buffer_size=6M  lead with # for default
query_cache_min_res_unit=512  # from 4096 default to reduce QC RAM required per SELECT

请使用 MySQLCalculator.com 花 2 分钟来识别您的每个连接 X 值是否远高于获得更可预测的 MySQL 实例所需的值。

另外,如果您可以从 A) ulimit -a 发布有关您的 Linux 操作系统限制的完整报告,以及从 B) Mysqltuner.com 发布完整报告;

我们将获得有用的信息,包括您正在运行的 MySQL 版本、按 ENGINE 表数据空间和表数,所有有用的信息。谢谢

相关内容