私は最近、メモリ不足の結果としてスラッシングに問題を抱えています。(私のVPSの合計は256Mです)
mysqltuner.plを使用してMySQLを調整しようとしていますが、次の結果が得られます。
--------一般統計---------------------------------------- ---------- [-] MySQLTunerスクリプトのバージョンチェックをスキップしました [OK]現在サポートされているMySQLバージョン5.0.51a-3ubuntu5.4-logを実行しています [OK] 64ビットアーキテクチャでの動作 --------ストレージエンジン統計--------------------------------------- ---- [-]ステータス:+アーカイブ-BDB-フェデレーテッド-InnoDB -ISAM -NDBCluster [-] MyISAMテーブルのデータ:114M(テーブル:454) [!!]断片化されたテーブルの総数:34 --------パフォーマンスメトリック---------------------------------------- --------- [-]最大40秒(570 q [14.250 qps]、23 conn、TX:154K、RX:23K) [-]読み取り/書き込み:100%/ 0% [-]合計バッファ:338.0Mグローバル+スレッドあたり2.7M(最大20スレッド) [!!]可能な最大メモリ使用量:392.9M(インストールされたRAMの153%) [OK]クエリが遅い:0%(5/570) [OK]利用可能な接続の最大使用率:15%(3/20) [!!]キーバッファサイズ/ MyISAMインデックスの合計:8.0M / 9.4M [!!]キーバッファーヒット率:57.1%(7キャッシュ/ 3読み取り) [OK]クエリキャッシュの効率:21.9%(7キャッシュ/ 32選択) [OK] 1日あたりのクエリキャッシュプルーニング:0 [OK]一時テーブルを必要とするソート:0%(0一時ソート/ 1ソート) [OK]ディスク上に作成された一時テーブル:0%(ディスク上に0 /合計32) [OK]スレッドキャッシュヒット率:86%(3つ作成/ 23接続) [OK]テーブルキャッシュヒット率:26%(128を開く/ 484を開く) [OK]使用されるオープンファイルの制限:25%(259 / 1K) [OK]すぐに取得されるテーブルロック:100%(492即時/ 492ロック) --------推奨事項----------------------------------------- ------------ 一般的な推奨事項: OPTIMIZE TABLEを実行して、パフォーマンスを向上させるためにテーブルを最適化します MySQLは24時間以内に起動しました-推奨事項は不正確な場合があります システムの安定性のために全体的なMySQLメモリフットプリントを削減します 調整する変数: *** MySQLの最大メモリ使用量が危険なほど高くなっています*** *** MySQLバッファー変数を増やす前にRAMを追加してください*** key_buffer_size(> 9.4M)
しかし、最大メモリ使用量を減らす方法について少し混乱していますか?key_bufferとmax_connectionsに基づいているようですが、他にも何か関係があるはずです。
my.cnf:
key_buffer = 8M max_allowed_packet = 12M thread_stack = 128K thread_cache_size = 8 max_connections = 20 table_cache = 128 tmp_table_size = 256M max_heap_table_size = 256M join_buffer_size = 256K query_cache_limit = 8M query_cache_size = 64M
私はMySQLチューニングの記事を読み通そうとしましたが、彼らは自分が何をしているかをすでに知っている人を対象にしているようです!任意の助けをいただければ幸いです。ありがとう!