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データベースのバックアップを作成する必要がありますか?
それで、それは物事を行うための良い方法ですか、より良い方法がありますか、それとも私は自分の時間を失っていますか?
私は同様の質問に答えました ここ 誰かがMySQLデータベースをメモリにロードする方法を尋ねていたとき。 MySQLには、他の潜在的なソリューションの中でもネイティブENGINEがあり、ほとんどの状況に適しています。
MyISAMテーブルの場合、提案されたソリューションは機能します。
Rsyncは必ずしもパフォーマンスに悪影響を与えるとは限りませんが、システムのリソースが非常に少ない場合は、I/O使用率が高いとシステム全体のパフォーマンスに影響するため、ペナルティが発生する可能性があります。ほとんどの場合、それはそうではないと思いますが、確実にする唯一の方法はテストすることです。
Ramdiskソリューションは私には危険なようです。停電が発生した場合、rsyncがリアルタイムではないため、データが失われる可能性があります。データベースをスレーブに複製して、ディスクに保存することができます。 ramdiskサーバー上のMySQLでの起動は、インスタンスを起動する前に、そのホストからramdiskにscpすることができます。
MySQLインスタンスが適切に最適化されていない場合は、パフォーマンスが大幅に向上します。うまく最適化されていれば、ゲインは少なくなると思います。確実にする唯一の方法は、 Super Smack 、 MySQL Benchmark 、 sysbench などのツールを使用してパフォーマンスを定量化することです。
幸運を。