画像サムネイル作成時の対策

下記2つの対策をして、大分プロセスがやられてしまうことが少なくなった。しばらくはこれで運用してみる。

max-workers=0 にした

max-workcers=1 で運用してたが変更した。0 にできるのは知らなかった。(Starman は --workers=0 はできない)

Plack::Middleware::SizeLimit を外した

外すと OOM Killer にやられることが少なくなった。

画像をアップロードすると、一覧画面表示時の画像のサムネイル作成で Plack::Middleware::SizeLimit にやられてプロセスが落ちてしまう。 Plack::Middleware::SizeLimit をはずすと今度は OOM Killer にやられてしまう。

ファイルサイズを減らしてみてるがうまくいかず。どうしようかな。

(追記)
とりあえずは直接 MT::Asset#thumbnail_url を呼び出してサムネイル生成して、一覧画面は表示できるようになった。編集画面もサムネイル使ってるはずだけど、こちらは特に問題なくサムネイルが表示された。

前から気になってた問題で、オーディオを無効化すると良さそう。
#18089 (Host CPU load 100% for idle guest)- Oracle VM VirtualBox

なので ~/.vagrant.d/Vagrantfile の「Vagrant.configure("2") do |config| ... end」の中に下記を追加した。

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--audio", "none"]
end

今までスリープから復旧した時に CPU 使用率が上がることが多かったのだが、とりあえずは治まっている様子。

こんな感じで HTML を リッチテキストに変換できるので、それを使う。

>  textutil -inputencoding UTF-8 -encoding Shift_JIS -format html -convert rtf -stdin -stdout

入力のエンコーディングは UTF-8 を想定しているが変更できる。内容によっては文字化けすることがあったので、 Shift-JIS に変換すると文字化けしないようになった。

Mac の場合はこれをパイプで pbcopy に渡して Google ドキュメントに貼ると良い。

https://github.com/masiuchi/mt7-plugin-fix-rebuilding-error-in-mt-content-field-tag

MT7 r.4502, r4503 で、MTContentField タグを下記コンテンツフィールドで使用した場合に再構築エラーになる不具合を修正するプラグインです。

  • コンテンツタイプ
  • アセット
  • オーディオアセット
  • ビデオアセット
  • 画像アセット

MT7 r.4208 などからアップグレードした場合に起こる可能性があります。上記コンテンツフィールドに設定されたコンテンツデータ・アセットが削除された場合にエラーが起こります。

MIT ライセンスです。ご利用ください。

MT for AWS のディレクトリ構成調査メモ

MT7, nginx で調べた。

  • /app - 主に読み込み専用ファイル
    • /app/aws - dynamic handler のファイル。nginx のみ?
      • /app/aws/mt-dynamic-handler/MTDynamicHandler.pm
    • /app/initial - 設定ファイルや mt-config.cgi のオリジナル
      • /app/initial/conf/nginx.conf
      • /app/initial/conf/mt-config.cgi
      • ...
    • /app/local - CPAN モジュール
    • /app/movabletype - MT 本体
    • /app/run - pid, sock ファイル
      • /app/run/movabletype.pid
      • /app/run/movabletype.sock
  • /data - データファイル、ログファイルなど
    • /data/conf - 設定ファイル。mt-config.cgi
      • /data/conf/nginx.conf
      • /data/conf/mt-config.cgi
      • ...
    • /data/database - データベースのデータファイル
      • /data/database/mysql/* - MySQL のデータファイル
    • /data/file - 出力されたサイトのファイル
      • /data/file/static/index.html - /index.html
      • ...
    • /data/logs - ログファイル
      • /data/logs/movabletype/movabletype.log - PSGI サーバーのログ