2015年9月7日月曜日

OPENMPが無効なImageMagickをec2上にソースからビルドする的なお話

  • このエントリーをはてなブックマークに追加

imagemagickを使って画像変換をする際に、openmpっていうのが有効だと処理が遅くなるらしいとのこと。
マルチコア環境だと高負荷になるらしい。
とりあえず詳しい事はこちらのブログを読んでもらえるとわかりやすいかも。

ってな感じで今回はそのopenmpを無効にするためにソースからビルドしましょう的なお話をば。

依存ファイルのダウンロードが必要なので面倒だけどyumでインストールしてアンインストール

# yum install ImageMagick
# yum remove ImageMagick

# cd /usr/local/src/
# wget http://www.imagemagick.org/download/ImageMagick.tar.gz
# tar xvfz ImageMagick.tar.gz
# cd ImageMagick-6.9.2-0
# ./configure --disable-openmp --disable-opencl --enable-shared --with-perl
# make
# make install
makeすると中々に時間がかかるけど気にしない感じで。
ソースからビルドするとパスが通ってないのでbashのエラーが出るので、パスを通すもよし。
面倒くさかったらフルパスで書いてあげればよし。
/usr/local/bin/convert img.png -resize 50% out.png


けどぶっちゃけec2のsmall環境では対して意味が無かったような気がする。
もしかしたら自分のやり方がまずいのかもしれないか、そもそも高スペックサーバにしないといけないのか。
vCPUが1つしかないのが原因としては考えられそう。

ということで自分の環境と照らし合わせてやってみるといいんじゃないかな的な。

Adsense