タグ

ブックマーク / akishin.hatenablog.jp (17)

  • mail コマンドで from を変更する方法まとめ - akishin999の日記

    シェルスクリプトでメール送信する際などに from を変更したい場合が時々あるのですが、ディストリビューションによってオプションの指定方法が異なっていたりすることが度々・・・。 毎回調べるのも面倒なので、この機会にまとめてみました。 mail コマンドは実装がいくつかあるので、何を使っているかによりオプションの指定方法を変更してやる必要があります。 Mail version 8.1 6/6/93 CentOS 5.3 環境に入っていた mail コマンド。 $ echo "Test Mail." | mail -s "test mail" to@example.com -- -f from@example.com 「-- -f」に続いて From に使用したいメールアドレスを指定します。 Heirloom Mail version 12.4 7/29/08 CentOS 6.3 環境に入っ

    mail コマンドで from を変更する方法まとめ - akishin999の日記
  • Monit で pidfile が存在しないプロセスを監視する - akishin999の日記

    Monit で pid ファイルが存在しないプロセスを監視する方法を調べたのでメモ。 Monit でのプロセス監視の例として、以下のように pidfile を使用してプロセスID を指定するものをよく見かけるかと思います。 check process sshd with pidfile "/var/run/sshd.pid"しかし、当然ですが pid ファイルがそもそも存在しないプロセスの場合にはこの方法は使えません。 こうしたプロセスを監視するために、 Monit 5.2 から matching という機能が追加されたようです。 Added support for monitoring processes without pidfile using pattern matching. You can use POSIX regular expressions or string matc

    Monit で pidfile が存在しないプロセスを監視する - akishin999の日記
    aki77
    aki77 2013/08/12
  • OMP_NUM_THREADS を指定した場合の負荷について - akishin999の日記

    「ImageMagick の OpenMP が有効だとサーバが高負荷になってしまう」問題を回避するために環境変数 OMP_NUM_THREADS に 1 を設定したものの、Nginx の場合、何故か /proc/$pid/environ に表示されませんでした。 これでは当に環境変数が正しく設定できているのかどうか、いまいちわかりません。 というわけで、実際にこの設定が効いているのかどうかを調べるため、簡単ですが以下の方法でサーバの負荷を測定してみました。 検証環境は以下の通りです。 Webサーバ CentOS 6.3 x86_64 メモリ1GB CPUコア数4 仮想機(VMware) 負荷生成用マシン CentOS 6.3 x86_64 メモリ1GB CPUコア数2 仮想機(VMware) どちらも仮想機且つ同一ホストで試したので厳密なパフォーマンス測定としては微妙ですが、OMP_NU

    OMP_NUM_THREADS を指定した場合の負荷について - akishin999の日記
  • Linux サーバでの「Too many open files」対策について - akishin999の日記

    Linux サーバでの「Too many open files」エラー対策について調べたのでまとめてみました。 確認した OS は CentOS 5.9 と CentOS 6.3 です。 「Too many open files」は Linux でプロセスが開けるファイルディスクリプタの上限に達してしまうと発生するエラーです。 「ファイルディスクリプタ」という名前ですが、 Linux ではソケットもファイルディスクリプタなので、ファイルを開いた場合だけでなく、ソケットを使って通信を行う場合にもファイルディスクリプタが使用されます。 そのため、Apache や Tomcat などで高負荷なサイトを運用している場合などには、比較的遭遇する確率の高いエラーではないでしょうか。 このエラーを回避するため、プロセスがオープンできるファイルディスクリプタの上限を変更します。 まずは以下のコマンドを実行

    Linux サーバでの「Too many open files」対策について - akishin999の日記
  • ngx_small_light で動的に画像リサイズ - akishin999の日記

    この前インストールした mod_small_light の Nginx 版、ngx_small_light をインストールしてみました。 cubicdaiya/ngx_small_light https://github.com/cubicdaiya/ngx_small_light このモジュールを使うと Nginx でも Apache + mod_small_light と同じ感じで画像の自動リサイズなどが行えるようになります。 検証したのは以下の環境になります。 CentOS 6.3 x86_64 ImageMagick 6.8.5-10(OpenMP 有効) 今回は ImageMagick は OpenMP が有効なものを使用しました。 インストール準備 まずは依存ライブラリをインストールします。 # yum install -y pcre-devel zlib-devel open

    ngx_small_light で動的に画像リサイズ - akishin999の日記
  • mod_small_light で動的に画像リサイズ - akishin999の日記

    今更ですが、livedoor により提供されている mod_small_light をインストールしてみました。 mod_small_light は動的にサムネイル画像を生成したりできる Apache モジュールです。 SMALL LIGHT 〜かんたん画像サムネイル作成モジュール〜 | livedoor labs EDGE http://labs.edge.jp/smalllight/ ちなみに、mod_small_light は OpenMP が有効な ImageMagick ではビルド時にエラーになってしまうようなので、前回インストールした OpenMP を無効にしたものを使用しています。 ==================== 2013/06/15 追記 ==================== コメント欄で id:cubicdaiya さんに教えて頂きました。 以下にあるパッチ

    mod_small_light で動的に画像リサイズ - akishin999の日記
    aki77
    aki77 2013/06/18
    『ImageMagick の OpenMP が有効なままだとサーバが高負荷になる問題がありますが、そちらは環境変数「OMP_NUM_THREADS」に 1 を設定する事で回避できます。』
  • OpenMP 無効の ImageMagick の RPM を作成する - akishin999の日記

    CentOS の Yum で ImageMagick を入れると、以下のようにデフォルトで OpenMP が有効になっています。 # yum install -y ImageMagick # convert --version Version: ImageMagick 6.5.4-7 2012-05-07 Q16 OpenMP http://www.imagemagick.org Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC OpenMP が有効だとマルチスレッドなどでの使用時に負荷的が高くなってしまう、という事なので、 OpenMP を無効にした RPM を作成してみました。 環境は CentOS 6.3 x86_64 です。 RPM 作成のための準備 まずは RPM 作成に必要な rpmbuild と rpmdevt

    OpenMP 無効の ImageMagick の RPM を作成する - akishin999の日記
  • Redis の永続化について調べた - akishin999の日記

    Redis でのデータの永続化方法について調べたので、忘れないうちにまとめておきます。 調べた時の Redis のバージョンは 2.6.13 です。 スナップショット(RDB) Redis のデフォルトの永続化の仕組み この設定が有効な場合、Redis は定期的にデータベースの内容をディスクに出力する Redis を再起動するとこのファイルからデータが読み込まれ復元される 一定回数の更新 + 一定間隔でディスクにファイル出力 ファイル出力タイミングは設定ファイル、CONFIG コマンドで変更可能 無効にもできる 出力は非同期で行われるため、プロセスがクラッシュした場合には前回のスナップショット以降のデータが失われる可能性あり 多少のデータロスを許容できるようなデータならスナップショットのみでもイケそう 手動で実行するには SAVE コマンドまたは BGSAVE コマンドを実行 SAVE は

    Redis の永続化について調べた - akishin999の日記
    aki77
    aki77 2013/06/11
  • Redis でお手軽に複数台構成の検証環境を作る - akishin999の日記

    最近 Redis の Sharding 構成やレプリケーション構成を検証するために複数の Redis インスタンスを起ち上げる事が多いのですが、その度に一々設定を変更した redis.conf を用意するのが結構面倒でした。 という事でちょっと調べてみると、どうやら redis-server は起動時に設定ファイルと個別の設定項目の両方を指定でき、設定ファイルの指定内容を個別項目の指定で上書きできるようです。 というわけで、最近はお手軽にパラメータを指定したシェルスクリプトを書いて使っています。 体のインストール(CentOS 6.3 x86_64) まずは体のインストールですが、remi リポジトリに最新版(2.6.13) の RPM があるのでそちらを使うと楽です。 remi 版の Redis は gperftools の tcmalloc を使っているので、最初に gperfto

    Redis でお手軽に複数台構成の検証環境を作る - akishin999の日記
    aki77
    aki77 2013/06/11
  • Redis の仮想メモリはどうなったのか - akishin999の日記

    一時期 Redis の特徴として良く挙げられていたものに、搭載している物理メモリ量以上のデータを扱える Virtual Memory という機能がありました。 仮想メモリ技術仕様 ― redis 2.0.3 documentation http://redis.shibu.jp/hacker/virtualmemory.html 個人的には結構便利そうだと思っていたのですが、公式ドキュメントを見ると 2.4 の時点で非推奨となっており、 バージョン 2.6 ではついに削除されてしまったようです。 Virtual Memory – Redis http://redis.io/topics/virtual-memory 検索しているとその代わりとして diskstore を開発中、といった情報が出てきますが、こちらもインメモリデータベースとしてより良いものを作っていく、ということに注力するため

    Redis の仮想メモリはどうなったのか - akishin999の日記
    aki77
    aki77 2013/06/06
  • Munin で Redis のリソース監視 - akishin999の日記

    Munin で Redis のリソースをモニタリングするためのプラグインをいくつか試してみたんですが、個人的には以下のものが気に入りました。 bpineau/redis-munin · GitHub https://github.com/bpineau/redis-munin 気に入った理由としては シェルスクリプト製なので、必要なのは redis-cli コマンドだけ 一枚のファイルで内容もシンプル 監視項目が結構多い といった辺りでしょうか。 このプラグインをインストールすると以下の監視項目が追加されます。 Redis blocked clients Redis commands rate Redis connected clients Redis connections rate Redis dbs Redis evicted keys rate Redis expired keys

    Munin で Redis のリソース監視 - akishin999の日記
  • Redis 2.6 の RPM を作成する - akishin999の日記

    ちょっと使う必要があったので、Redis の最新版の RPM を作成してみました。 環境は CentOS 6.3 です。 まずは RPM の作成に必要な rpmbuild、rpmdevtools をインストールします。 # yum install -y rpm-build rpmdevtools 次に RPM 作成用のユーザを作成して su します。 # useradd rpmdevel # su - rpmdevel rpmdevtools でインストールされる rpmdev-setuptree コマンドを実行します。 rpmdev-setuptree コマンドを実行すると、RPM の作成に必要なディレクトリや .rpmmacros ファイルを生成してくれます。 $ rpmdev-setuptree 生成された ~/.rpmmacros の中身は以下のようになっていました。 %_topd

    Redis 2.6 の RPM を作成する - akishin999の日記
  • elasticsearch で clustering を試してみる - akishin999の日記

    elasticsearch だと簡単に clustering が出来るということなので、実際に試してみました。 環境は CentOS 6.3、elasticsearch 0.20.5 です。 まずはダウンロードして展開します。 # wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.20.5.tar.gz # tar xzf elasticsearch-0.20.5.tar.gz elasticsearch の準備はこれだけ。 展開したら master ノードとなる最初のノードを起動します。 以下のように引数「-Des.cluster.name」にクラスタの名前を指定して起動してください。 # ./elasticsearch-0.20.5/bin/elasticsearch

  • elasticsearch での Kuromoji の使い方 - akishin999の日記

    前回インストールした elasticsearch で日形態素解析器 Kuromoji を使ってみます。 環境は CentOS 6.3、elasticsearch 0.20.5 です。 elasticsearch はプラグインで機能を拡張できるようです。 利用可能なプラグインは公式サイトの以下のページにまとめられていました。 elasticsearch - guide - Plugins http://www.elasticsearch.org/guide/reference/modules/plugins.html 今回は Kuromoji を使うため、上記ページの「Analysis Plugins」内にあった「Japanese (Kuromoji) Analysis plugin (by elasticsearch team)」を入れてみました。 elasticsearch/elas

    elasticsearch での Kuromoji の使い方 - akishin999の日記
  • CentOS に elasticsearch を入れてみた - akishin999の日記

    elasticsearch は Apache Solr と同じく Apache Lucene を使用した全文検索エンジンです。 REST ベースの API を備え、curl コマンドだけで操作できるなどの使いやすさが特徴とのことです。 詳しくは こちら や こちら の資料を読んでみてください。 今回は CentOS 6.3 にインストールしてみました。 事前に Java をインストールしてあるところから開始しています。 まずはユーザを作成。 # useradd -c 'elasticsearch' -d /var/empty/elasticsearch -s /sbin/nologin elasticsearch ダウンロードして /usr/local 以下に配置します。 # cd /usr/local/src/ # wget https://download.elasticsearch.

    CentOS に elasticsearch を入れてみた - akishin999の日記
  • CentOS 6.3 に MySQL 5.6 をインストールしてみた - akishin999の日記

    MySQLのインストール方法が進化していた! - sakaikの日々雑感〜(T)編 http://d.hatena.ne.jp/sakaik/20130205/mysql5_6_install こちらの記事を読んだら使ってみたくなったので、 MySQL 5.6 を CentOS 6.3(x86_64) にインストールしてみました。 手順もほぼ上記記事と同じです。 CentOS 6 なので以下のように yum に RPM ファイルの URL を直接指定してインストールできます。 # yum install http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.10-1.el6.x86_64.rpm \ http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/

    CentOS 6.3 に MySQL 5.6 をインストールしてみた - akishin999の日記
  • CentOS 6.2 用に Apache 2.4.1 の RPM を作成する - akishin999の日記

    CentOS 6.2(i686)用に先日リリースされた Apache 2.4.1 の RPM を作成しインストールしてみました。 事前準備 開発用ツールのインストール。 # yum groupinstall -y "Development Tools" yum リポジトリに EPEL を追加。 # rpm --import http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 # rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-5.noarch.rpm 事前に行っていた主な作業はこのくらいです(たぶん・・・)。 もし足りないライブラリなどがあればエラーが出るはずなので、適宜インストールしてください。 インストールされている Apache の削

    CentOS 6.2 用に Apache 2.4.1 の RPM を作成する - akishin999の日記
  • 1