share facebook facebook twitter menu hatena pocket slack

2011.06.28 TUE

RDS(MySQL)にクエリキャッシュを設定

鈴木 宏康

WRITTEN BY 鈴木 宏康

RDS(MySQL)にクエリキャッシュを設定するには、DBパラメータグループのquery_cache_sizeの設定で行えます。

クエリキャッシュが利用できない場合は、下記のようにサイズが0になっているはずです。

mysql> show variables like 'query_cache_size';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| query_cache_size | 0     |
+------------------+-------+

PHPなどで下記のようにquery_cache_sizeに任意のサイズを割り当て、DBパラメータグループに設定します。

require_once("/opt/aws/php/sdk.class.php");

define("AWS_KEY"       , "AAAAAAAA");
define("AWS_SECRET_KEY", "SSSSSSSS");

$rds = new AmazonRDS();
$rds->set_region(AmazonRDS::REGION_APAC_NE1);

$response = $rds->modify_db_parameter_group("suz-lab-mysql55", array(
    array(
        "ParameterName"  => "query_cache_size",
        "ParameterValue" => "268435456",
        "ApplyMethod"    => "immediate"
    )
));

var_dump($response);

AWS Management Consoleで見てみると、下記のように上記で設定した値が
パラメータquery_cache_sizeに反映されていることが確認できます。


上記のDBパラメータグループが付与された形で、一応、RDSもリブートしておきます。

再度、RDS(MySQL)上のquery_cache_sizeの値を見てみると、
上記の値が反映されていることが確認できます。

mysql> show variables like 'query_cache_size';
+------------------+-----------+
| Variable_name    | Value     |
+------------------+-----------+
| query_cache_size | 268435456 |
+------------------+-----------+

そして、適当にSELECT文を何回か実行すると、
下記のようにクエリキャッシュが機能していることが確認できます。

mysql> SHOW STATUS LIKE 'Qcache%';
+-------------------------+-----------+
| Variable_name           | Value     |
+-------------------------+-----------+
| Qcache_free_blocks      | 1         |
| Qcache_free_memory      | 268415920 |
| Qcache_hits             | 4         |
| Qcache_inserts          | 1         |
| Qcache_lowmem_prunes    | 0         |
| Qcache_not_cached       | 91        |
| Qcache_queries_in_cache | 1         |
| Qcache_total_blocks     | 4         |
+-------------------------+-----------+

RDSのDBパラメータグループのパラメータ変更がAWSコンソールでできるようになりますように。 #AWS77less than a minute ago via Tweet-Watch Favorite Retweet Replysuz-lab
suz_lab

(AWSの七夕お願いtweetより)

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。