web-dev-qa-db-ja.com

MySQLとtmpfs:パフォーマンス

Tmpfsを使用することでMySQLのパフォーマンスが向上するかどうか、またどの程度向上させることができるのでしょうか。私の推測では、mount -t tmpfs -o size=256M /path/to/mysql/data/DatabaseName、そしてデータベースを通常どおりに使用しますが、おそらく私は間違っています(MyISAMテーブルのみを使用しています)。

Tmpfsの間で1時間ごとにrsyncを実行します/path/to/mysql/data/DatabaseNameおよび/path/to/mysql/data/DatabaseName_backupパフォーマンスにペナルティを課しますか?もしそうなら、どのようにtmpfsデータベースのバックアップを作成する必要がありますか?

それで、それは物事を行うための良い方法ですか、より良い方法がありますか、それとも私は自分の時間を失っていますか?

3
Serty Oan

私は同様の質問に答えました ここ 誰かがMySQLデータベースをメモリにロードする方法を尋ねていたとき。 MySQLには、他の潜在的なソリューションの中でもネイティブENGINEがあり、ほとんどの状況に適しています。

MyISAMテーブルの場合、提案されたソリューションは機能します。

Rsyncは必ずしもパフォーマンスに悪影響を与えるとは限りませんが、システムのリソースが非常に少ない場合は、I/O使用率が高いとシステム全体のパフォーマンスに影響するため、ペナルティが発生する可能性があります。ほとんどの場合、それはそうではないと思いますが、確実にする唯一の方法はテストすることです。

Ramdiskソリューションは私には危険なようです。停電が発生した場合、rsyncがリアルタイムではないため、データが失われる可能性があります。データベースをスレーブに複製して、ディスクに保存することができます。 ramdiskサーバー上のMySQLでの起動は、インスタンスを起動する前に、そのホストからramdiskにscpすることができます。

MySQLインスタンスが適切に最適化されていない場合は、パフォーマンスが大幅に向上します。うまく最適化されていれば、ゲインは少なくなると思います。確実にする唯一の方法は、 Super SmackMySQL Benchmarksysbench などのツールを使用してパフォーマンスを定量化することです。

幸運を。

3
Warner