mysql:16068
From: < <swhwang@xxxxxxxxxx>>
Date: Wed, 18 Dec 2013 13:38:44 +0900
Subject: [mysql 16068] MySQLのTunning
お疲れ様です。 黄と申します。 今、MySQLのTunningに関して、悩んでいます。 システム構成 MySQL Version:5.5.10-log MySQL Community Server (GPL) OS:Red Hat Enterprise Linux Server release 5.5 (Tikanga) めもり: 31GB 問題のクエリは以下になります。 select count(group_code) from tb_ims_sip 開発社からの依頼 一般的なクエリ(単純なカウント - PK)をする場合にも、場合によっては、6分以上を示しています。 データの数が約800万件程度と、通常は0.1ms以内に応答を与えるのですが、現在インストールされてMysqlは 応答速度が6mを超えています。 mysqlのInsertが多く発生(IO)しているからであろうと推定されます。 もう一つの影響では、DBが保存されるパスは、現在のNASになっており、このために発生する影響もあると思います。 Mysqlエンジニア【かにサポートを受ける部分は、現在のクエリをした場合の結果が正常であることを確認お願いしており、その部分に問題がある場合、どのよう チューニングをするか、チューニングポイントを探してほしいという要求です このクエリをどうやって、 Tunningすればいいのか、教えていていただけませんか? 単純に、クエリの問題もか、システム的なもんだいのかがわかりません。 調査した内容 mysql> select count(*) from TB_IMS_SIP; +----------+ | count(*) | +----------+ | 13844348 | +----------+ 1 row in set (8 min 17.94 sec) mysql> select count(group_code) from TB_IMS_SIP; +-------------------+ | count(group_code) | +-------------------+ | 13857208 | +-------------------+ 1 row in set (8 min 9.95 sec) mysql> show profiles; +----------+--------------+------------------------------------------+ | Query_ID | Duration | Query | +----------+--------------+------------------------------------------+ | 1 | 0.00014000 | select count(group_code) from tb_ims_sip | | 2 | 490.01962800 | select count(group_code) from TB_IMS_SIP | +----------+--------------+------------------------------------------+ 2 rows in set (0.00 sec) mysql> show profile for QUERY 1; +----------------------+----------+ | Status | Duration | +----------------------+----------+ | starting | 0.000054 | | checking permissions | 0.000009 | | Opening tables | 0.000054 | | query end | 0.000003 | | closing tables | 0.000003 | | freeing items | 0.000013 | | logging slow query | 0.000002 | | cleaning up | 0.000002 | +----------------------+----------+ 8 rows in set (0.00 sec) mysql> show profile for QUERY 2; +----------------------+------------+ | Status | Duration | +----------------------+------------+ | starting | 0.000049 | | checking permissions | 0.000009 | | Opening tables | 0.000019 | | System lock | 0.000010 | | init | 0.000016 | | optimizing | 0.000005 | | statistics | 0.000011 | | preparing | 0.000009 | | executing | 0.000006 | | Sending data | 490.019393 | | end | 0.000013 | | query end | 0.000006 | | closing tables | 0.000008 | | freeing items | 0.000015 | | logging slow query | 0.000003 | | logging slow query | 0.000050 | | cleaning up | 0.000006 | +----------------------+------------+ 17 rows in set (0.00 sec) mysql> explain select count(group_code) from TB_IMS_SIP; +----+-------------+------------+-------+---------------+-----------------------+---------+------+----------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+------------+-------+---------------+-----------------------+---------+------+----------+-------------+ | 1 | SIMPLE | TB_IMS_SIP | index | NULL | IDX_TB_IMS_SIP_SERVER | 30 | NULL | 12730949 | Using index | +----+-------------+------------+-------+---------------+-----------------------+---------+------+----------+-------------+ 1 row in set (0.00 sec) mysql> explain select count(group_code) from TB_IMS_SIP\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: TB_IMS_SIP type: index possible_keys: NULL key: IDX_TB_IMS_SIP_SERVER key_len: 30 ref: NULL rows: 14140764 Extra: Using index 1 row in set (0.00 sec) mysql> describe TB_IMS_SIP; +-------------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+----------+------+-----+---------+-------+ | GROUP_CODE | char(10) | NO | PRI | NULL | | | SERVER_NAME | char(20) | NO | PRI | NULL | | | OBJECT_ID | int(11) | NO | PRI | NULL | | | SERVICE_TYPE_CODE | char(20) | NO | PRI | NULL | | | SERVICE_NAME | char(20) | NO | PRI | NULL | | | STAT_TYPE | int(11) | NO | PRI | NULL | | | DATETIME | char(14) | NO | PRI | NULL | | | SERVER | char(16) | NO | PRI | | | | SERVICE | char(16) | NO | PRI | | | | NUM_TYPE | char(16) | NO | PRI | | | | BRANCH | char(16) | NO | PRI | | | | IO_TYPE | char(8) | NO | PRI | | | | ATTEMPT | int(11) | YES | | 0 | | | SUCCESS | int(11) | YES | | 0 | | | COMPLETE | int(11) | YES | | 0 | | | PROVISIONING | int(11) | YES | | 0 | | | SUCCESS_RATE | int(11) | YES | | 0 | | | COMPLETE_RATE | int(11) | YES | | 0 | | | PROVISIONING_RATE | int(11) | YES | | 0 | | | COUNT | int(11) | YES | | NULL | | +-------------------+----------+------+-----+---------+-------+ 20 rows in set (0.00 sec) Slowqueryの結果 # Time: 131216 10:42:25 # User@Host: root[root] @ localhost [] # Query_time: 490.019558 Lock_time: 0.000073 Rows_sent: 1 Rows_examined: 13857208 SET timestamp=1387158145; select count(group_code) from TB_IMS_SIP; ============================== Linux Data System Co.,Ltd. Cunsulting Division / Manager DB Sewon Hwang 2F Hongseon Bldg., 166-5, Samseong-dong, Gangnam-gu, Seoul, Korea. 〒135-090 Tel. +82-2-6207-1159,1160 Fax. +82-2-6207-1161 Mobile. +82-10-6718-1196 E-mail. <mailto:swhwang@xxxxxxxxxx> swhwang@xxxxxxxxxx Web site: www.linuxdata.co.kr ==============================
-> @ 16068 2013-12-18 13:38 [ <swhwang@xxxxxxxxxx] MySQLのTunning 16072 2013-12-19 23:54 ┗[舘山 聖司 <tateyan@x]