正在运行多个mysql实例 - centos7

时间:2017-10-08 10:53:13

标签: php mysql

我使用centos7作为我的服务器,当运行带有mysql查询的php页面时,我发现mysql正在使用htop运行大约4个进程,知道我的线程并发性为1,并且只有一个组应该根据我的运行.conf也可以,但是服务器使用那个cpu处理能力运行至少两个实例,它有时达到2400%的CPU功率

my.conf

    [client]                                    
port            = 3306                      
socket          = /var/lib/mysql/mysql.sock 


[mysqld_safe]                               
innodb_buffer_pool_size=3000M               
innodb_additional_mem_pool_size=8500K       
innodb_log_buffer_size=20G                  
innodb_thread_concurrency=10                
innodb_file_per_table=1                     

[mysqld]                                    

log-slow-queries = /var/log/mysql-slow.log  
long_query_time = 1                         

local-infile=0                              
datadir=/var/lib/mysql                      
user=mysql                                  
symbolic-links=0                            

max_connections = 400                       
wait_timeout = 60                           
query-cache-type = 0                        
query-cache-size = 128M                     
query_cache_size = 0                        
query_cache_limit = 0                       
thread_cache_size = 128                     
tmp_table_size = 2048M                      
max_heap_table_size = 2048M                 
join_buffer_size = 40M                      
innodb_file_per_table=ON                    
table_open_cache = 1024                     

port            = 3306                      
socket          = /var/lib/mysql/mysql.sock 
skip-external-locking                       
key_buffer_size = 1024M                     
max_allowed_packet = 268435456              
sort_buffer_size = 2M                       
read_buffer_size = 2M                       
read_rnd_buffer_size = 8M                   
myisam_sort_buffer_size = 512M
query_cache_size = 0
thread_concurrency = 1

innodb_buffer_pool_size = 3024M
innodb_additional_mem_pool_size = 40M
innodb_log_buffer_size = 320M

[mysqldump]
quick
max_allowed_packet = 32M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 4M
write_buffer = 4M

[mysqlhotcopy]
interactive-timeout


table_cache             = 1536
table_definition_cache  = 1536

htop输出

 1743 eseed      20   0  500M 21448 12208 S  0.0  0.1  0:00.15 php-fpm: pool x.com
 1412 mysql      20   0 5578M  815M 10132 S  0.0  2.5  4:26.02 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/lnw2-g8hk.a 1582 mysql      20   0 5578M  815M 10132 S  0.0  2.5  1:45.77 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/lnw2-g8hk.a 1518 apache     20   0 2205M  9472  2632 S  0.0  0.0  0:00.20 /usr/sbin/httpd -DFOREGROUND
 1545 apache     20   0 2205M  9472  2632 S  0.0  0.0  0:00.16 /usr/sbin/httpd -DFOREGROUND
  720 nginx      20   0 38032  3732  1316 S  0.0  0.0  0:00.06 nginx: worker process
 1105 apache     20   0  989M  9668  2952 S  0.0  0.0  0:00.16 /usr/sbin/httpd -DFOREGROUND
 1065 apache     20   0 2205M  9432  2628 S  0.0  0.0  0:00.17 /usr/sbin/httpd -DFOREGROUND
  382 root       20   0  380M 13424  8004 S  0.0  0.0  0:00.09 php-fpm: master process (/etc/php-fpm.conf)
 1058 apache     20   0 1373M 10056  3044 S  0.0  0.0  0:00.18 /usr/sbin/httpd -DFOREGROUND
 1146 apache     20   0 2205M  9432  2628 S  0.0  0.0  0:00.15 /usr/sbin/httpd -DFOREGROUND
 1427 mysql      20   0 5578M  815M 10132 S  0.0  2.5  0:00.02 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/lnw2-g8hk.a 1461 mysql      20   0 5578M  815M 10132 S  0.0  2.5  0:44.38 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/lnw2-g8hk.a 1742 eseed      20   0  381M  9248  2908 S  0.0  0.0  0:00.10 php-fpm: pool dev.x.com
  952 root       20   0 3835M 10824  3584 S  0.0  0.0  0:00.18 Passenger core
 1432 mysql      20   0 5578M  815M 10132 S  0.0  2.5  0:00.02 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/lnw2-g8hk.a
  381 root       20   0  498M 25160 19552 S  0.0  0.1  0:00.11 php-fpm: master process (/opt/plesk/php/7.0/etc/php-fpm.conf)
 1425 mysql      20   0 5578M  815M 10132 S  0.0  2.5  0:00.02 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/lnw2-g8hk.a 1426 mysql      20   0 5578M  815M 10132 S  0.0  2.5  0:00.02 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/lnw2-g8hk.a

2 个答案:

答案 0 :(得分:1)

你误解了htop。那些是线程,而不是进程。除了服务器为了各种操作和内务管理原因而创建的内部线程外,每个连接通常都有一个线程。尝试按tF5查看层次结构。

另见Why Does htop Show More Processes than ps?

thread_concurrency是一个无操作系统,除非在非常旧的Solaris系统上,它只是线程调度程序的提示。

MySQL消耗的CPU量与其提供的工作量直接相关。配置中的任何内容都不会导致此更多或更少,任何有意义的范围。

答案 1 :(得分:0)

这个建议也会有帮助。要允许DEFAULTS支持您的工作,请从my.cnf / .ini sort_buffer_size read_buffer_size read_rnd_buffer_size join_buffer_size的[mysqld]部分删除以下列表 - 以改善(减少)响应时间。当您可以使用DEFAULT为256K获取所需数据时,为什么要有意读取8M的read_rnd_buffer_size数据?