2017-10-08 15 views
0

mysqlクエリでPHPページを実行しているとき、私のサーバーとしてcentos7を使用しています。mysqlはhtopを使用して約4プロセスを実行しています。グループがあまりにmy.confに従って実行すべきであるが、サーバーは、そのCPUの処理能力を使用して、少なくとも2つのインスタンスを実行し、それは時々2400パーセントのCPUパワーに到達複数インスタンスのmysqlが実行中 - centos7

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 

ホテルトップ出力

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 
+0

私のdbテーブルはMYISAMであり、役に立たない場合はINNODBではありません – JenuRudan

+0

問題はサーバmysqlではなく内部で実行されると思います。要求の解決、ログのチェック、テーブルのサイズ、記憶容量の解決を試みてください。そうした方法で調査する必要があります。よろしく。 –

+0

はい、私は知っていますが、最初に複数のインスタンスが実行されるのはなぜですか? – JenuRudan

答えて

1

あなたはhtopを誤解しています。それらはスレッドであり、プロセスではありません。各接続には、通常、サーバーがさまざまな操作およびハウスキーピングの理由で作成する内部スレッドに加えて、スレッドがあります。 tまたはF5を押して、階層を表示してください。

も参照してくださいWhy Does htop Show More Processes than ps?

thread_concurrencyそれがスレッドスケジューラにヒントだけで非常に古いSolarisシステム、を除いて、何もしません。

MySQLが消費するCPU量は、提供される負荷量と直接関係します。構成の何もこれを多かれ少なかれ意味のある程度にするものではありません。

0

この提案も参考になります。 DEFAULTSが自分の努力をサポートできるようにするには、my.cnf/.ini sort_buffer_sizeの[mysqld]セクションから次のリストを削除します。read_buffer_size read_rnd_buffer_size join_buffer_size - レスポンス時間を短縮(短縮)します。 256KのDEFAULTで必要なデータを取得できるときに、なぜ8Mのread_rnd_buffer_sizeデータを意図的に読み込むのですか?

関連する問題