TwitterのMysql

TwitterはMySQLの改善を投稿しました。

変更のソースコードは、修正されたBSDライセンスの下で配布され、 GitHubでホストされます。

habrakatの詳細な変更点をご覧ください。



追加の状態変数



開発者は、特にInnoDBの内部コンポーネントからの状態変数を追加しました。これにより、システムの動作をより効果的に制御し、特にロード時の動作をよりよく理解できるようになりました。 追加される変数には次のものがあります。





NUMAアーキテクチャに基づくメモリ割り当ての最適化



最新のマルチプロセッサシステムのほとんどは、不均等なメモリアクセステクノロジーを使用しています。これはNUMAアーキテクチャと呼ばれ、NUMA「ノード」間でシステムの共有メモリを共有できます。 InnoDBバッファープールに大量のメモリを割り当てると、深刻な問題が発生する傾向があります。 MySQLで使用されるNUMAシステムで発生する特定の問題の詳細については、Jeremy Coleのブログを参照してください。 開発者は、システムを最適化して問題を解消するために、次の変更を行いました。





リクエストサーバーのタイムアウト



サーバーによって実行される不必要な作業の量が削減されたため、サーバーはミリ秒の精度で一定の待機時間を超える要求を事前にキャンセルできました。

プロアクティブフェッチを使用したバッファプールのエクスポートと復元



InnoDBバッファープールのエクスポートと復元は、安全で軽量な方法を使用して可能になります。これにより、最小限の影響でサービスを再起動するツールを作成できます。



ソリッドステートドライブ(SSD)の最適化



MySQLは、ページの更新プロセスの最適化やディスクの寿命を延ばすためのディスクへの書き込み回数の削減など、SSDディスクを使用するマシン向けに最適化されました。

ニュースソース: engineering.twitter.com/2012/04/mysql-at-twitter.html

テキストはREADMEファイルから取得されます



All Articles