1. 一般的なMySQLの設定以下のすべての構成パラメータは、32G のメモリを搭載したサーバーに基づいています。 1. 独立した表領域を開く
2. MySQL サービスで許可される同時セッション数の上限は、デフォルトでは 151 です。「接続数が多すぎます」というエラー メッセージが頻繁に表示される場合は、この値を増やす必要があります。
3. オペレーティングシステムがリスニングキューに保持できる接続数
4. 各クライアント接続に許容されるエラーの最大数。この数を超えると、MYSQL サーバーが再起動されるか、flush hosts コマンドによってこのホストの関連情報がクリアされるまで、MYSQL サーバーはこのホストの接続要求を禁止します。
5. すべてのスレッドによって開かれたテーブルの数
6. 各接続で送信される最大データ サイズは 1G で、1024 の倍数である必要があります。通常は、最大の BLOB の値に設定されます。
7. リクエストの最大接続時間
8. ソートバッファはORDER BYおよびGROUP BYキューによるソートを処理するために使用されます。
9. インデックスなしのテーブル全体のスキャンの最小バッファサイズ
10. クエリバッファサイズ
11. 1回のクエリで使用できるバッファサイズを指定します。デフォルトは1Mです。
12. デフォルトのトランザクション分離レベルを設定する
13. スレッドが使用するヒープ サイズ。この値は、ストアド プロシージャの再帰深度と、メモリ内で処理できる SQL ステートメントの複雑さを制限します。このメモリ量は、接続ごとに予約されます。
14. バイナリログを有効にする
15. バイナリログ形式: 行ベース
16. InnoDB は、インデックスと生データを格納するためにバッファ プールを使用します。この変数は、サーバーの物理メモリ サイズの 80% に設定できます。
17. IO操作を同期するために使用されるIOスレッドの数
18. Innodb コア内で許可されるスレッド数の推奨設定は、CPU の数とディスクの数の 2 倍です。
19. ログデータをバッファリングするために使用されるバッファのサイズ
20. ロググループ内の各ログファイルのサイズ
21. ロググループ内のファイル総数
22. SQL文がロールバックされる前にInnoDBトランザクションがInnoDB行ロックを待機する時間
23. 遅いクエリレコードのしきい値期間はデフォルトで10秒です
24. インデックスを使用しないクエリを記録する
my.cnf の例: [mysqld] データディレクトリ=/var/lib/mysql ソケット=/var/lib/mysql/mysql.sock シンボリックリンク=0 innodb_file_per_table = 1 innodb_buffer_pool_size = 6442450944 #メモリが不足している場合はエラーが報告されます innodb_file_io_threads = 4 innodb_thread_concurrency = 16 innodb_log_buffer_size = 16M innodb_log_file_size = 512M innodb_log_files_in_group = 3 innodb_lock_wait_timeout = 120 log_bin = /var/lib/mysql/mariadb-bin binlog_format = 行 遅いクエリログ 長いクエリ時間 = 2 インデックスを使用しないログクエリ transaction_isolation = 繰り返し読み取り クエリキャッシュサイズ = 128M クエリキャッシュ制限 = 4M 最大接続数 = 8000 バックログ = 300 最大接続エラー数 = 1000 オープンファイル制限 = 10240 最大許容パケット = 32M 待機タイムアウト = 10 ソートバッファサイズ = 16M 結合バッファサイズ = 16M スレッドスタック = 512K 2. MySQLパフォーマンスストレステスト一般的なテストツール:
mysqlslap ツールの紹介 mysqlslap は mariadb パッケージから提供されます。テスト中、デフォルトで mysqlslap スキーマが生成され、テスト テーブル t1 が生成され、テスト データがクエリされて挿入され、mysqlslap ライブラリが自動的に生成されます。すでに存在する場合は、まず削除されます。 --only-print を使用して実際のテスト プロセスを印刷すると、テスト全体が完了した後、データベースにトレースが残されません。 一般的なオプション:
テスト例: 1) シングルスレッドテスト [root@centos7 ~]# mysqlslap -a -uroot -p パスワードを入力してください: ベンチマーク すべてのクエリを実行するのにかかった平均秒数: 0.004 秒 すべてのクエリを実行するのに要する最小秒数: 0.004 秒 すべてのクエリを実行する最大秒数: 0.004 秒 クエリを実行しているクライアントの数: 1 クライアントあたりの平均クエリ数: 0 2) マルチスレッドテストでは、同時接続をシミュレートするために –concurrency を使用します。 [root@centos7 ~]# mysqlslap -uroot -p -a -c 500 パスワードを入力してください: ベンチマーク すべてのクエリを実行するのにかかった平均秒数: 3.384 秒 すべてのクエリを実行するための最小秒数: 3.384 秒 すべてのクエリを実行する最大秒数: 3.384 秒 クエリを実行しているクライアントの数: 500 クライアントあたりの平均クエリ数: 0 3) 異なるストレージエンジンのパフォーマンスを同時にテストして比較する [root@centos7 ~]# mysqlslap -uroot -p -a --concurrency=500 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb --debug-info パスワードを入力してください: ベンチマーク エンジンmyisamのために実行 すべてのクエリを実行するのにかかった平均秒数: 0.192 秒 すべてのクエリを実行するのに要する最小秒数: 0.187 秒 すべてのクエリを実行する最大秒数: 0.202 秒 クエリを実行しているクライアントの数: 500 クライアントあたりの平均クエリ数: 2 ベンチマーク エンジン innodb の実行 すべてのクエリを実行するのにかかった平均秒数: 0.355 秒 すべてのクエリを実行するための最小秒数: 0.350 秒 すべてのクエリを実行する最大秒数: 0.364 秒 クエリを実行しているクライアントの数: 500 クライアントあたりの平均クエリ数: 2 ユーザー時間 0.33、システム時間 0.58 最大常駐セットサイズ 22892、積分常駐セットサイズ 0 非物理ページフォールト 46012、物理ページフォールト 0、スワップ 0 ブロック入力 0 出力 0、メッセージ入力 0 出力 0、シグナル 0 自発的なコンテキストスイッチ 31896、非自発的なコンテキストスイッチ 0 4) 同時クエリ数500と1000、合計クエリ数5000でテストを実行する [root@centos7 ~]# mysqlslap -uroot -p -a --concurrency=500,1000 --クエリ数 5000 --debug-info パスワードを入力してください: ベンチマーク すべてのクエリを実行するのにかかった平均秒数: 3.378 秒 すべてのクエリを実行するための最小秒数: 3.378 秒 すべてのクエリを実行する最大秒数: 3.378 秒 クエリを実行しているクライアントの数: 500 顧客あたりの平均クエリ数: 10 ベンチマーク すべてのクエリを実行するのにかかった平均秒数: 3.101 秒 すべてのクエリを実行するための最小秒数: 3.101 秒 すべてのクエリを実行する最大秒数: 3.101 秒 クエリを実行しているクライアントの数: 1000 クライアントあたりの平均クエリ数: 5 ユーザー時間 0.84、システム時間 0.64 最大常駐セットサイズ 83068、積分常駐セットサイズ 0 非物理ページフォールト 139977、物理ページフォールト 0、スワップ 0 ブロック入力 0 出力 0、メッセージ入力 0 出力 0、シグナル 0 自発的なコンテキストスイッチ 31524、非自発的なコンテキストスイッチ 3 5) 反復テスト [root@centos7 ~]# mysqlslap -uroot -p -a --concurrency=500 --number-of-queries 5000 --iterations=5 --debug-info パスワードを入力してください: ベンチマーク すべてのクエリを実行するのにかかった平均秒数: 3.307 秒 すべてのクエリを実行するのに要する最小秒数: 3.184 秒 すべてのクエリを実行する最大秒数: 3.421 秒 クエリを実行しているクライアントの数: 500 顧客あたりの平均クエリ数: 10 ユーザー時間 2.18、システム時間 1.58 最大常駐セットサイズ 74872、積分常駐セットサイズ 0 非物理ページフォールト 327732、物理ページフォールト 0、スワップ 0 ブロック入力 0 出力 0、メッセージ入力 0 出力 0、シグナル 0 自発的なコンテキストスイッチ 73904、非自発的なコンテキストスイッチ 3 上記は、MySQL シリーズ 15: 一般的な MySQL 構成とパフォーマンス ストレス テストの詳細な内容です。一般的な MySQL 構成とパフォーマンス ストレス テストの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: htmlハイパーリンクaのクリックイベントの後、hrefで指定されたアドレスにジャンプします。
>>: Dockerを使用してRedisクラスターを構築する方法
UNION演算子の使用union : 2 つ以上の SELECT ステートメントの結果を 1 つの...
序文:多くのビジネス テーブルでは、歴史的またはパフォーマンス上の理由により、最初のパラダイムに違反...
robots.txt の基本的な紹介Robots.txt はプレーンテキスト ファイルであり、Web...
1. 既存のモジュールを表示する nginx の sbin ディレクトリに nginx の sbin...
背景:テーブルスペース: すべての INNODB データはテーブルスペース (共有テーブルスペース)...
目次1. トラバーサルクラス1. 各2. 地図3. すべての4. いくつか5. フィルター6. 減ら...
1. 2 列レイアウトとは何ですか? 2 列レイアウトには、左側が固定幅で右側が適応幅のレイアウトと...
<iframe src=”ページのURL” width=”100″ height=”30″ f...
ある日、内部結合を含む SQL ステートメントの実行速度はそれほど遅くはない (0.1 ~ 0.2)...
目次ガベージコレクション (GC) はなぜ必要なのでしょうか?ガベージコレクションとは廃棄物の発生ガ...
W3C の原則によれば、XML の各開始タグには対応する終了タグが必要です。つまり、<html...
my.cnfは、MySQL の起動時に読み込まれる設定ファイルです。通常は MySQL インストー...
以下のように表示されます。リモート サーバーのファイルをローカルにコピーします。 scp -r -P...
1. ツール今必要なツールは2つあります: MySQLサーバー (mysql-5.7.18)、MyS...
まず問題の説明から始めましょう:同じページで、1 つのタブに float:left が必要で、もう ...