すいません。非常に一般的なことなのですが、mysql の
キャッシュについて教えて下さい。
本番環境からWEBサーバとDBサーバをコピーして同一環境を作りました。
WEBサーバもDBサーバもさくらクラウドのサーバーを使っています。 https://manual.sakura.ad.jp/cloud/server/server-clone.html に記載されているサーバークローンの機能を利用してます。
しかしながらテスト環境だけ、SQLのクエリ (SELECT * from 特定のテーブル)
が非常に遅いという事象が発生しています。
具体的に言うと、SELECT文を発行しているときに、下記のコマンドを打鍵します
mysql> SHOW GLOBAL STATUS LIKE 'InnoDB\_buffer\_pool%'; +---------------------------------------+-------------+ | Variable_name | Value | +---------------------------------------+-------------+ | Innodb_buffer_pool_dump_status | not started | | Innodb_buffer_pool_load_status | not started | | Innodb_buffer_pool_pages_data | 6674 | | Innodb_buffer_pool_bytes_data | 109346816 | | Innodb_buffer_pool_pages_dirty | 0 | | Innodb_buffer_pool_bytes_dirty | 0 | | Innodb_buffer_pool_pages_flushed | 5050 | | Innodb_buffer_pool_pages_free | 1024 | | Innodb_buffer_pool_pages_misc | 494 | | Innodb_buffer_pool_pages_total | 8192 | | Innodb_buffer_pool_read_ahead_rnd | 0 | | Innodb_buffer_pool_read_ahead | 4044 | | Innodb_buffer_pool_read_ahead_evicted | 0 | | Innodb_buffer_pool_read_requests | 9524555353 | <<<<これはSELECTを打鍵するごとに増加する。 | Innodb_buffer_pool_reads | 2566 | <<<増加しない | Innodb_buffer_pool_wait_free | 0 | | Innodb_buffer_pool_write_requests | 221188 | +---------------------------------------+-------------+
mysql
1Innodb_buffer_pool_read_requests 2``` はSELECT文を打鍵するごとに 3増加するので、きちんとキャッシュを読みに行っているはずなのに遅いです。 4キャッシュを読み込んでも遅いということはありますでしょうか? 5 6また```ここに言語を入力 7、Innodb_buffer_pool_reads 8``` が増加しません。つまり 9バッファプールに書き込みに行っていないように見えます。 10 11 12SHOW STATUS LIKE'Qcache%';
を見てみたのですがやはり、下記のようにSELECTで
クエリを行っても、Qcache_hitsが増えず
Qcache_not_cached が微妙に増加しています。
mysql
1| Variable_name | Value | 2+-------------------------+-----------+ 3| Qcache_free_blocks | 753 | 4| Qcache_free_memory | 115651656 | 5| Qcache_hits | 1373 |<<<増えない 6| Qcache_inserts | 2111 | 7| Qcache_lowmem_prunes | 0 | 8| Qcache_not_cached | 6206 | <<<<これが増加している。 9| Qcache_queries_in_cache | 862 | 10| Qcache_total_blocks | 2591 | 11+-------------------------+-----------+
本当に材料が少なくて恐縮なのですが、これ以上なぜSELECT文
が遅いのかトラシューする材料はありますでしょうか?
基本的に```
show variables
ご教示いただければと思います。 よろしくお願いいたします。 <参考にしたURL> https://atsuizo.hatenadiary.jp/entry/2016/12/06/190624 上記の記事ではSQLを何回も実行すると速度が改善されましたが、私のテスト環境は 改善されませんでした
回答1件
あなたの回答
tips
プレビュー