[前][次][番号順一覧][スレッド一覧]

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]