mysql の innodb_flush_method メソッドの詳細な例
次のエディターは、innodb_flush_method 値メソッドに関する記事を提供します (例による説明)。編集者はこれがとても良いと思ったので、参考として共有します。編集者をフォローして、innodb_flush_method
rreeeの典型的な価値を見てみましょう。
つまり、特定の値はハードウェア構成とワークロードに関連しており、それを決定するにはストレス テストを実施するのが最善です。ただし、一般的に、RAIDコントローラー
とライトバック書き込み戦略を使用する Linux 環境では、o_direct がより良い選択です。ストレージ メディアが SAN の場合は、デフォルトの fsync または osync を使用する方が良い場合があります。
一般的には、値を o_direct に設定し、最下層に RAID カードがあり、読み取りおよび書き込みポリシーがライトバックに設定されていることが多いようです。 sysbench を使用して oltp タイプのストレス テストを行ったところ、o_direct は fsync よりもパフォーマンスが優れていることがわかりました。ただし、最近そのような SQL に遭遇し、その場合の顧客からのフィードバックは非常に遅かったです。同じメモリの場合、私が構築したクラウド ホストのパフォーマンスがはるかに速くなりました。後で、主な理由は innodb_flush_method の設定値の違いによって引き起こされた大きなパフォーマンスの違いであることがわかりました。 テストシナリオ1
innodb_flush_methodはデフォルト値であり、fsync、
cache
fsync: InnoDB uses the fsync() system call to flush both the data and log files. fsync is the default setting. O_DSYNC: InnoDB uses O_SYNC to open and flush the log files, and fsync() to flush the data files. InnoDB does not use O_DSYNC directly because there have been problems with it on many varieties of Unix. O_DIRECT: InnoDB uses O_DIRECT (or directio() on Solaris) to open the data files, and uses fsync() to flush both the data and log files. This option is available on some GNU/Linux versions,FreeBSD, and Solaris.
テストシナリオ 2innodb_flush_method を o_direct に変更し、キャッシュプールの影響を除外し、結果が安定しました
How each settings affects performance depends on hardware configuration and workload. Benchmark your particular configuration to decide which setting to use, or whether to keep the default setting. Examine the Innodb_data_fsyncs status variable to see the overall number of fsync() calls for each setting. The mix of read and write operations in your workload can affect how a setting performs. For example, on a system with a hardware RAID controller and battery-backed write cache, O_DIRECT can help to avoid double buffering between the InnoDB buffer pool and the operating system's file system cache. On some systems where InnoDB data and log files are located on a SAN, the default value or O_DSYNC might be faster for a read-heavy workload with mostly SELECT statements. Always test this parameter with hardware and workload that reflect your production environment
結果の比較:
2 つの実行計画は次のとおりです。まったく同じですが、パフォーマンスは大きく異なります。 database
を最初に起動したときの
queryの結果も大きく異なりますし、o_directも大きく異なります(
の結果は省略)。この場合、なぜ オペレーティング システム
キャッシュの追加層があるのかよくわかりません。そのため、実稼働環境の設定はストレス テストの結果と実際の結果に基づいている必要があります。経験値を盲目的に信じることはできません。改善策: innodb_flush_method を変更せずに、index(account_id,outcome,income) の組み合わせを追加することで、カバーするインデックス スキャンの応答を大幅に改善できます。時間【関連する推奨事項】1. Mysql の無料ビデオチュートリアル
2. MySQL での新しいユーザー権限の追加の詳細な例3. MySQL でのパスワードとアクセス制限の詳細な変更例
4. 正規表現を使用してデータベース内のコンテンツを置換する詳細な例 解決策
5.
mysqlに画像を保存するphpの例を詳しく解説以上がmysql の innodb_flush_method メソッドの詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Web アプリケーション開発に PHP を使用する場合、多くの場合データベースを使用する必要があります。データベースを使用すると、エラー メッセージがよく発生します。その中でも、PHPFatalerror: Calltoamemberfunctionfetch() は、PDO を使用してデータベースをクエリするときに発生する比較的一般的なエラーです。では、このエラーの原因と解決方法は何でしょうか?この記事ではそれについて詳しく説明します。 1. エラーの原因

InnoDB は、MySQL のデータベース エンジンの 1 つです。現在、MySQL のデフォルトのストレージ エンジンであり、MySQL AB によるバイナリ リリースの標準の 1 つです。InnoDB は、二重トラック認証システムを採用しており、1 つは GPL 認証、もう 1 つは独自のソフトウェアです認可。 InnoDB は、トランザクション データベースに推奨されるエンジンであり、トランザクション セキュリティ テーブル (ACID) をサポートしています。InnoDB は、同時実行性を最大限にサポートできる行レベルのロックをサポートしています。行レベルのロックは、ストレージ エンジン層によって実装されます。

InnoDB はディスク上のテーブルにデータを保存するストレージ エンジンであるため、シャットダウンして再起動した後でもデータは残ります。データ処理の実際のプロセスはメモリ内で発生するため、ディスク内のデータをメモリにロードする必要があります。書き込みまたは変更要求を処理している場合は、メモリ内の内容もディスクに更新する必要があります。また、ディスクへの読み取りおよび書き込みの速度は非常に遅いことがわかっており、これはメモリ内での読み取りおよび書き込みとは数桁異なります。したがって、テーブルから特定のレコードを取得したい場合、InnoDB ストレージ エンジンは読み取りを行う必要がありますか?ディスクからレコードを 1 つずつ取り出しますか? InnoDB で採用されている方法は、データを複数のページに分割し、ページをディスクとメモリ間の対話の基本単位として使用することです。InnoDB のページのサイズは通常 16 です。

1. mysql をロールバックして再インストールします。このデータを他の場所からインポートする手間を避けるために、まず現在のライブラリ (/var/lib/mysql/location) のデータベース ファイルのバックアップを作成します。次に、Perconaserver 5.7 パッケージをアンインストールし、元の 5.1.71 パッケージを再インストールし、mysql サービスを開始すると、Unknown/unsupportedtabletype:innodb というプロンプトが表示され、正常に開始できませんでした。 11050912:04:27InnoDB:バッファプールの初期化中、サイズ=384.0M11050912:04:27InnoDB:完了

1. MySQL トランザクション分離レベル これら 4 つの分離レベルでは、複数のトランザクションの同時実行性の競合がある場合、ダーティ リード、非反復読み取り、ファントム読み取りの問題が発生する可能性があり、innoDB は反復可能読み取り分離レベル モードでこれらの問題を解決します。ファントム リーディングの説明、2. ファントム リーディングとは? ファントム リーディングとは、図に示すように、同じトランザクション内で同じ範囲を前後 2 回クエリしたときに得られる結果が矛盾することを意味します。 . この時点では、条件を満たすデータは 1 つだけです。2 番目のトランザクションでは、データの行を挿入して送信します。最初のトランザクションが再度クエリを実行すると、取得される結果は、前のトランザクションの結果より 1 つ多くなります。最初のクエリ。データ。最初のトランザクションの最初と 2 番目のクエリは両方とも同じであることに注意してください

MySQL ストレージ エンジンの選択の比較: InnoDB、MyISAM、およびメモリのパフォーマンス インデックスの評価 はじめに: MySQL データベースでは、ストレージ エンジンの選択がシステム パフォーマンスとデータの整合性において重要な役割を果たします。 MySQL はさまざまなストレージ エンジンを提供します。最も一般的に使用されるエンジンには、InnoDB、MyISAM、Memory などがあります。この記事では、これら 3 つのストレージ エンジンのパフォーマンス指標を評価し、コード例を通じて比較します。 1. InnoDB エンジン InnoDB は私のものです

MySQL は広く使用されているデータベース管理システムであり、ストレージ エンジンが異なればデータベースのパフォーマンスに与える影響も異なります。 MyISAM と InnoDB は、MySQL で最もよく使用される 2 つのストレージ エンジンですが、これらには異なる特性があり、不適切に使用するとデータベースのパフォーマンスに影響を与える可能性があります。この記事では、これら 2 つのストレージ エンジンを使用して MySQL のパフォーマンスを最適化する方法を紹介します。 1. MyISAM ストレージ エンジン MyISAM は、MySQL で最も一般的に使用されるストレージ エンジンであり、その利点は高速であり、ストレージ スペースが小さいことです。 MyISA

INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。
