メモリが多く必要ですので、AWHさんのVPSを使用しています。関連MySQLのソート処理を高速化するMySQLを高速に?!tmpdirをtmpfsにする方法はい。季節も秋めいてきて、涼しくなってきましたね。勉強の秋、今日から何かの勉強を始められても良いかも知れませんね。今日は皆さんが普段使われているMySQLの設定ファイルを少しチューニングして、MySQLのパフォーマンスアップを図るお話しをします。具体的にはMySQLが一時的に使うファイルをラムディスクと言うメモリ上に作成した仮想的なディスク上に作成するようにし、処理速度を上げようというものです。メモリ上に作成した仮想的なディスクですので、通常のディスクに比べ、非常に高速です。テーブルJOINやネステッド・ループ・ジョインなどで、MySQLが使用するディスクソートであるマージソートを行う際に一時的に使用するフォルダです。マージソートが早く完了すればするほど、SQLの戻りが早くなります。そのため、通常tmpdirは速いディスクを割り当てます。※ただし、既に列に索引があった場合、ソートは行われません。索引は列のソート済みのファイルだからです。IOが辛くなってきたので、移行することにしました。普段はそんなにでもないのですが、housekeeperが動作して古いデータを消しに行くとバ...以下上記URLより一部引用します。テンポラリフォルダを作成し、スティッキービットを立てる。/data/tmp/etc/my.cnfにtmpdirを指定する。通常tmpdirには高速なディスクを指定する。/data/tmpスティッキービットとは、以下のサイトを参照してください。users【Linux初心者向け】スティッキービットとは?と設定方法https://eng-entrance.com/linux-permission-stickybit「スティッキービット」とはUnixLikeSystem、Linuxなどで利用できる特殊なパーミッションの一つである。ディレクトリに適応することにより効能を発揮する。上記サイトから、一部引用します。スティッキービットが設定されたディレクトリは、すべてのユーザがファイルおよびディレクトリを作成書き込みを行えるようになる。作成したファイルやディレクトリを削除出来るのは所有者だけとなるというパーミッションだ。このような設定を行い、/data/tmpに速いディスクを割り当てます。このことで、MySQLのパフォーマンスをアップします。tmpfsとはでは、tmpfsとは何の事なのでしょう?一般的には、フォルダにマウントできるメモリ上の仮想的で一時的に使用するディスクという意味です。以下にtmpfsの特徴を上げてみます。通常、tmpfsとは、指定した最大メモリまでは、動的にメモリが確保されていくメモリ上の仮想敵意なディスクのこと最初から、例えば2GBなら最初から2GB全てメモリが確保されるという事ではない。使用した分だけメモリが確保されるため、メモリ使用効率が良いtmpfsについては、特に、以下のサイトが詳しいです。純規の暇人趣味ブログhttps://jyn.jp/linux-ramdisk/私がマイクラ鯖を立てるに当たって一番苦労した所、それがディスクI/O(RAMディスクの作成やバックアップ)です。マイクラではチャンクと呼ばれる細かいデータの読み書きなどでディスクI/Oがやたらと多いからラグの原因になると言われており(実際どれくらい影響するの...また、以下のサイトでは、tmpfsについて分かりやすい説明がされています。今日も元気にlinuxhttps://mylinux.g.hatena.ne.jp/teraco/20081123/1227369431デバイスの話に関連して、tmpfsという面白い機能を勉強。tmpfsというのは../data/tmpにtmsfsをマウントするそれでは、実際にtmpfsでメモリ上のラムディスクを/data/tmpに割り当ててみましょう。最大メモリサイズは、ここでは512MBとします。/data/tmp/etc/my.cnfのtmpdirにtmpfsでマウントしたラムディスクを指定するそれでは、実際にMySQLの設定ファイル/etc/my.cnfにtmpdirを設定してみましょう。/data/tmp後は、MySQLを再起動します。メモリが多く必要ですので、AWHさんのVPSを使用しています。ラムディスクを大きな容量を取りたいとも思ったりしませんか?ただ、メモリ容量に余裕のあるVPSやレンタルサーバーはなかなか亡いところです。私の場合は、AWHというVPSを使っています。CentOS7メモリ8GBSSD50GBのプランで使っていますが、費用は999円/月です。他にもKAGOYAさんなど、最近は価格がこなれたVPSやレンタルサーバーも出てきています。皆さんも、色々と検討されると良いかもしれませんね。下図のAWHさんは、クーポンコード「aff0905」にて、全使用期間5%割引になります。宜しかったらどうぞご覧になってみてください。(画像をクリックするとAWHさんのサイトにジャンプします)※クーポンコード「aff0905」は2019/12/31に失効します。メモリ8GBで999円プランありまとめ皆さん、大変お疲れ様でした。ここまで読んで頂いて、誠にありがとうございました。本日の学びを以下にまとめます。tmpdirは、MySQLがディスクソートを行う時のフォルダ。ディスクソートは非常に重い。tmpfsとは、使用した分だけのみメモリを消費しるメモリ上の仮想的なディスク。一般的にはラムディスクと呼ばれます。tmpdirにラムディスクを使用すると、MySQLのディスクソートが大変高速になる。ソート処理は1回きりの一時処理であるため、ずっと保存しなくて良くラムディスクに向いている。この方法を採ることで、特に今までディスクソートを多用していたWebシステムの場合はパフォーマンスのアップが期待できます。挑戦されて見てください。cygwinのbashでは、lsでLS_OPTIONSが有効になりません。「私の知らない武器(機能)が内蔵されているのか・・・!?」と、シロッコ風に気取って思っていましたが、強引に解決しました。TeraTermcygtermはMETAキーをALTキーにバインドできて、emacsで便利cygtermはMETAキーをALTキーにバインドできて、emacsで便利です。メモリが多く必要ですので、AWHさんのVPSを使用しています。(9)AWHホスティング999円で8GBメモリのVPS。AWHホスティングがご提供。(2018/9/4時点)第4世代Corei5、メモリ8GB(最大16GB、PC3L-12800)、SSD360GB、Win10Pro64bit、LEDディスプレイのB5モバイルノートです。Lightness(光の封印)」という黒歴史です。そのSOLを、fMSXエミュレータで動かして、攻略記事を上のURLに書いています。(2018/9/4時点)M2-SSD、SATA-SSDを同時搭載可能です。WordPress%d人のブロガーが「いいね」をつけました。