この記事では、MySQL データベースのパフォーマンスに影響を与える要因について説明します (データベース アーキテクチャのケースも含めて)。必要な方は参考にしていただければ幸いです。
面接では、データベースに関する話題が多かれ少なかれ出てきます。「データベースをどの程度使いこなしていますか?」「データベースのパフォーマンスが最もテストされるのはいつですか?」 、約束が重要である一方で、大量のデータを読み書きする時期であり、電子商取引プロモーションはそれぞれのデータベースのパフォーマンスをテストする時期でもあります。
Web サーバーの場合、データ量が大きい場合は水平拡張することで 1 台のサーバーの負荷を軽減できますが、データベース サーバーの場合はそう簡単には水平拡張できません。拡張はデータベースの整合性と一貫性の原則にも違反します。では、データベース アーキテクチャはどのように構築されるべきでしょうか。
大規模なプロモーション活動では、どんなに優れた製品や企画が成功しても、安定したデータベースやサーバー環境がなければ、いわゆるすべてが無駄になってしまいます。
図に示すように、マスター サーバーとスレーブ サーバーの間にマスター/スレーブ レプリケーション コンポーネントはありません。つまり、マスター サーバーに障害が発生した場合にマスター サーバーを切り替えることが困難になるため、DBA は最新のデータを持つスレーブ サーバーを選択し、それをマスター サーバーに昇格させ、他のスレーブ サーバーを同期する必要があります。このプロセスにかかる時間コストも非常に大きくなります。
また、ビジネス量が大きい場合、スレーブ サーバーが多すぎると、マスター サーバーのネットワーク カードに一定の課題が生じます。
クラスター監視情報を通じて、何がデータベースのパフォーマンスに影響を与えるかを理解できます。
はい、はい。一般的に、主な理由は、QPS と TPS、同時実行性 (同時接続数との混同を避けるため、同時に処理されるリクエストの数)、ディスク IO、および読み取りです。オペレーションが高すぎる
これは提案です: 少なくとも、大規模なイベントが発生する前にはそのような計画をキャンセルしないことをお勧めします#。
##SQL クエリ速度ディスク IO
リスク: 大量の同時実行 (データベース接続の数がいっぱいです (max_connections のデフォルトは 100))
1. スレーブ サーバーの数を減らします。
2. クエリに "select *" を使用しないでください。ビジネス ネットワークとサーバー ネットワークを分離します。以上がmysqlデータベースのパフォーマンスに影響を与える要因の説明(データベースアーキテクチャの場合)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。