MySQL
max_prepared_stmt_countパラメータについて [#jf669774]
サーバの Prepared ステートメントの合計数の最大値。この値で制限する。
リクエスト応答を大量に発生させることで、サーバの応答機能の帯域を使い切るなど、いわゆる DoS攻撃 (denial-of-service attacks) を受ける可能性がある環境で使用する。
デフォルト値は 16382。許容値は 0 から 100 万。
この値が実行中の Prepared ステートメントの数より低い場合は、既存ステートメントが影響を受けることはなく、そのまま使用できるが、新規のステートメントに関しては、この制限値よりも現行数を低減するまで、準備できない。(MySQL 5.1.10 からの導入)
mysql> show global variables like '%max_pr%';
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| max_prepared_stmt_count | 16382 |
+-------------------------+-------+
1 row in set (0.00 sec)
mysql> set global max_prepared_stmt_count = 30000;
Query OK, 0 rows affected (0.00 sec)
mysql> show global variables like '%max_pr%';
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| max_prepared_stmt_count | 30000 |
+-------------------------+-------+
1 row in set (0.00 sec)