▼ Movable Typeの再構築を僅かでも高速化する手順
現在利用している共有レンタルサーバのうち、MySQLでストレージエンジンにInnoDBが利用可能なものがあったので実証実験としてMyISAM から InnoDBへと変更。
共有のレンタルサーバではどうなのかと言うことで人柱になってみた。
以上でストレージエンジンの変更は完了
あらかじめ、バックアップを取ってあったMyISAMのもので別に設置したMTOSと2個を用い、同時に全面再構築を10回ずつ行ってみた。
エントリー数は適当にいくつかの自ブログからインポートしたもので100件ほど。
MyISAMに対して、InnoDBの方は最大で約20%程度速度が向上していた。*3
ストレージエンジンが選択可能であれば若干ながら有効である事を実証できた。
サーバのマシンパワーが潤沢であり、MTのパブリッシングに占有可能であるならば、my.cnfへのパラメータ設定によるチューニング込みで大量のページを処理する場合には採用を検討したい。
というわけで、次の作業は「ストレージエンジンをMyISAMからInnoDBに変更する」を実施して計測します。シックス・アパートのエンジニアが以前試験したところ、MyISAMよりもInnoDBの方がパフォーマンスがいいという結果を聞いていたので、ワクワクしながら、次のコマンドを実行してInnoDBに変更していきます。ということと
techknow.yagishita.net - MTを使ったサイト構築テクニック (2): ネタフルにおける再構築チューニング
phpMyAdmin で MySQL のストレージエンジンを MyISAM から InnoDB に変更する具体的な方法です。ここでは XAMPP 環境(Windows XP + MySQL 5.0 + phpMyAdmin 2.11.4)で試したもので紹介します。とxampp上での実証は小粋空間の荒木さんに先を越されたので
phpMyAdmin で MySQL のストレージエンジンを MyISAM から InnoDB に変更する方法
共有のレンタルサーバではどうなのかと言うことで人柱になってみた。
- coreserverの管理画面より、データベースを選択し、該当のMTのDBへphpMyAdminで接続する。*1
- 該当DBを選択し、SQLメニューより以下のコマンドをコピーし貼り付けて実行
ALTER TABLE `mt_asset` ENGINE = 'InnoDB'; ALTER TABLE `mt_asset_meta` ENGINE = InnoDB; ALTER TABLE `mt_association` ENGINE = InnoDB; ALTER TABLE `mt_as_ua_cache` ENGINE = InnoDB; ALTER TABLE `mt_author` ENGINE = InnoDB; ALTER TABLE `mt_author_meta` ENGINE = InnoDB; ALTER TABLE `mt_backgroundrebuild` ENGINE = InnoDB; ALTER TABLE `mt_blog` ENGINE = InnoDB; ALTER TABLE `mt_blog_meta` ENGINE = InnoDB; ALTER TABLE `mt_category` ENGINE = InnoDB; ALTER TABLE `mt_category_meta` ENGINE = InnoDB; ALTER TABLE `mt_comment` ENGINE = InnoDB; ALTER TABLE `mt_comment_meta` ENGINE = InnoDB; ALTER TABLE `mt_config` ENGINE = InnoDB; ALTER TABLE `mt_entry` ENGINE = InnoDB; ALTER TABLE `mt_entry_meta` ENGINE = InnoDB; ALTER TABLE `mt_field` ENGINE = InnoDB; ALTER TABLE `mt_fileinfo` ENGINE = InnoDB; ALTER TABLE `mt_ipbanlist` ENGINE = InnoDB; ALTER TABLE `mt_log` ENGINE = InnoDB; ALTER TABLE `mt_notification` ENGINE = InnoDB; ALTER TABLE `mt_objectasset` ENGINE = InnoDB; ALTER TABLE `mt_objectscore` ENGINE = InnoDB; ALTER TABLE `mt_objecttag` ENGINE = InnoDB; ALTER TABLE `mt_permission` ENGINE = InnoDB; ALTER TABLE `mt_placement` ENGINE = InnoDB; ALTER TABLE `mt_plugindata` ENGINE = InnoDB; ALTER TABLE `mt_profileevent` ENGINE = InnoDB; ALTER TABLE `mt_profileevent_meta` ENGINE = InnoDB; ALTER TABLE `mt_role` ENGINE = InnoDB; ALTER TABLE `mt_session` ENGINE = InnoDB; ALTER TABLE `mt_tag` ENGINE = InnoDB; ALTER TABLE `mt_tbping` ENGINE = InnoDB; ALTER TABLE `mt_tbping_meta` ENGINE = InnoDB; ALTER TABLE `mt_template` ENGINE = InnoDB; ALTER TABLE `mt_templatemap` ENGINE = InnoDB; ALTER TABLE `mt_template_meta` ENGINE = InnoDB; ALTER TABLE `mt_touch` ENGINE = InnoDB; ALTER TABLE `mt_trackback` ENGINE = InnoDB; ALTER TABLE `mt_ts_error` ENGINE = InnoDB; ALTER TABLE `mt_ts_exitstatus` ENGINE = InnoDB; ALTER TABLE `mt_ts_funcmap` ENGINE = InnoDB; ALTER TABLE `mt_ts_job` ENGINE = InnoDB;*2
以上でストレージエンジンの変更は完了
あらかじめ、バックアップを取ってあったMyISAMのもので別に設置したMTOSと2個を用い、同時に全面再構築を10回ずつ行ってみた。
エントリー数は適当にいくつかの自ブログからインポートしたもので100件ほど。
MyISAMに対して、InnoDBの方は最大で約20%程度速度が向上していた。*3
ストレージエンジンが選択可能であれば若干ながら有効である事を実証できた。
サーバのマシンパワーが潤沢であり、MTのパブリッシングに占有可能であるならば、my.cnfへのパラメータ設定によるチューニング込みで大量のページを処理する場合には採用を検討したい。
▼ コメント(0件)
- TB-URL(確認後に公開) http://adiary.dcw-jp.com/028/tb/
