DB/MySQL/パフォーマンスチューニング
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-MySQLのパフォーマンスチューニングについてまとめ
#contents
*参考本・サイト [#ta8a94eb]
-現場で使えるMySQL
-http://blog.cles.jp/item/473
*ツール [#l899409d]
-https://github.com/major/MySQLTuner-perl
使ってない!
wget -O tuner.zip https://github.com/rackerhacker/MySQLT...
unzip tuner.zip
cd MySQLTuner-perl-master/
chmod 755 mysqltuner.pl
perl mysqltuner.pl --user root -pass='xxxxxxx'
*単体チューニング [#md7b35de]
**スロークエリーログテーブル版 [#w4028474]
***確認 [#of190e83]
SHOW GLOBAL VARIABLES LIKE '%query_time%' ;
SHOW GLOBAL VARIABLES LIKE '%slow_query%' ;
***設定 [#a8220a9b]
set global log_output = 'TABLE';
set global long_query_time = 0.3;
set global slow_query_log = ON;
flush logs;
***スロークエリーテーブル [#n97c130f]
select * from mysql.slow_log order by start_time desc li...
**スロークエリーログ [#h323c5b7]
一定時間以上かかるクエリーやフルスキャンを行った場合にロ...
-SQL
set global slow_query_log = 1;
set global long_query_time = 0.3; --0.3秒以上なら出力
set global slow_query_log_file ='slow_query.log'; -- 出...
set global log_queries_not_using_indexes = 1
set global log_output = 'FILE';
my.iniに以下を追加
long_query_time=5
log-slow-queries=c:/mysql/slow.log
フルスキャンに関しては4.1からログに取れるようになった。起...
--log-queries-not-using-indexes
[mysqld]
log_queries_not_using_indexes
**オプティマイザについて [#z9918f18]
他DBMSにおいてはコストベースのオプティマイザが優位になり...
**クエリーキャッシュ [#d438241c]
*InnoDB バッファキャッシュ [#v7a449a9]
MariaDB [(none)]> show global status like 'Innodb_buffer...
| Variable_name | Value |
| Innodb_buffer_pool_read_ahead | 1942 |
| Innodb_buffer_pool_read_ahead_evicted | 0 |
| Innodb_buffer_pool_read_ahead_rnd | 0 |
| Innodb_buffer_pool_read_requests | 8868784 |
| Innodb_buffer_pool_reads | 2373 |
-計算式
(1 - (innodb_buffer_pool_reads / innodb_buffer_pool_rea...
上の例では
(1 - (2373/8868784))*100 = 0.973254507044032 で97%
#counter
終了行:
-MySQLのパフォーマンスチューニングについてまとめ
#contents
*参考本・サイト [#ta8a94eb]
-現場で使えるMySQL
-http://blog.cles.jp/item/473
*ツール [#l899409d]
-https://github.com/major/MySQLTuner-perl
使ってない!
wget -O tuner.zip https://github.com/rackerhacker/MySQLT...
unzip tuner.zip
cd MySQLTuner-perl-master/
chmod 755 mysqltuner.pl
perl mysqltuner.pl --user root -pass='xxxxxxx'
*単体チューニング [#md7b35de]
**スロークエリーログテーブル版 [#w4028474]
***確認 [#of190e83]
SHOW GLOBAL VARIABLES LIKE '%query_time%' ;
SHOW GLOBAL VARIABLES LIKE '%slow_query%' ;
***設定 [#a8220a9b]
set global log_output = 'TABLE';
set global long_query_time = 0.3;
set global slow_query_log = ON;
flush logs;
***スロークエリーテーブル [#n97c130f]
select * from mysql.slow_log order by start_time desc li...
**スロークエリーログ [#h323c5b7]
一定時間以上かかるクエリーやフルスキャンを行った場合にロ...
-SQL
set global slow_query_log = 1;
set global long_query_time = 0.3; --0.3秒以上なら出力
set global slow_query_log_file ='slow_query.log'; -- 出...
set global log_queries_not_using_indexes = 1
set global log_output = 'FILE';
my.iniに以下を追加
long_query_time=5
log-slow-queries=c:/mysql/slow.log
フルスキャンに関しては4.1からログに取れるようになった。起...
--log-queries-not-using-indexes
[mysqld]
log_queries_not_using_indexes
**オプティマイザについて [#z9918f18]
他DBMSにおいてはコストベースのオプティマイザが優位になり...
**クエリーキャッシュ [#d438241c]
*InnoDB バッファキャッシュ [#v7a449a9]
MariaDB [(none)]> show global status like 'Innodb_buffer...
| Variable_name | Value |
| Innodb_buffer_pool_read_ahead | 1942 |
| Innodb_buffer_pool_read_ahead_evicted | 0 |
| Innodb_buffer_pool_read_ahead_rnd | 0 |
| Innodb_buffer_pool_read_requests | 8868784 |
| Innodb_buffer_pool_reads | 2373 |
-計算式
(1 - (innodb_buffer_pool_reads / innodb_buffer_pool_rea...
上の例では
(1 - (2373/8868784))*100 = 0.973254507044032 で97%
#counter
ページ名: