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