apacheの最近のブログ記事

Jan
26
2008

ベンチマークに使っていたXOOPSアプリのcache機能を使っていなかったので、こちらも設定したところで、以下、備忘録。

Requests per second基準で。


  • eAccelerato0.9.5.2導入での効果は225%
  • mod_deflateの圧縮コストも計測しなきゃだわ。
  • XOOPS cache設定効果で250%

環境:CentOS release 3.9 (Final) + Apache2.0.40(※) + PHP 5.1.6

[初期]
Requests per second: 1.14 [#/sec] (mean)
Transfer rate: 16.41 [Kbytes/sec] received

[+eAccelerato0.9.5.2]
Requests per second: 2.57 [#/sec] (mean)
Transfer rate: 36.88 [Kbytes/sec] received

[+mod_deflate+mod_expires+ZendOptimizer-3.3.0a]
Requests per second: 2.12 [#/sec] (mean)
Transfer rate: 30.64 [Kbytes/sec] received

[+XOOPS cache設定]
Requests per second: 5.34 [#/sec] (mean)
Transfer rate: 76.95 [Kbytes/sec] received

結論


  • XOOPSに関しては、最初からCache機能に気付け、俺。
  • まぁ、非XOOPSなサイトに関してもパフォーマンスが出るようになったので、良しとする。
  • 仕事でサーバ触らなくなったので、自宅で作業するのが楽しい。


※:このApacheは脆弱性アリversionですな。先ほどupdateしました。:-)

Feb
20
2008

これまで8GBのVPSでも、Web関連のキャッシュ&ログに気をつけている限りは容量を使い切れなかったのに、今のサービスは50GB。

というわけで、総容量が10GBを超えそうな猫写真&猫動画のバックアップ領域を嫁に提供するべくWebDAVの設定。

GETで取得したquery文字列に含まれる日本語が化ける問題に対応するパッチというのも当ててみた。

CentOS5の場合、標準でWebDAVモジュールは入っているので、mod_encodingでの日本語対応と、httpd.confでの設定のみでOK.

先ずは材料として、WebDAV Resources JPのダウンロードページから、


と、先ほどのGETで取得したquery文字列に含まれる日本語が化ける問題に対応するパッチ(以下、mod_encoding-20020611a-safequery.patch
)
を用意。

■インストール


$ gunzip -dc mod_encoding-20021209.tar.gz | tar xvf -
$ cd mod_encoding-20021209
$ ./configure --with-apxs=/usr/sbin/apxs
$ cp ../mod_encoding.c.apache2.20040616 mod_encoding.c
$ patch -p0 < ../mod_encoding-20020611a-safequery.patch
$ cd lib

$ ./configure
# make
# make install
# cd ..
# make
# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
# cp mod_encoding.so /etc/httpd/modules/
# ln -s /usr/local/lib/libiconv_hook.so /usr/lib/httpd/libiconv_hook.so.1

■設定

# vi /etc/httpd.conf

<IfModule mod_encoding.c>
  EncodingEngine        on
  SetServerEncoding     UTF-8
  DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
  AddClientEncoding "Microsoft .* DAV 1.1" ASCII CP932 UTF-8
  AddClientEncoding "Microsoft .* DAV" UTF-8 CP932
  AddClientEncoding "(Microsoft .* DAV $)" UTF-8 CP932
  AddClientEncoding "(Microsoft .* DAV 1.1)" CP932 UTF-8
  AddClientEncoding "Microsoft-WebDAV*" UTF-8 CP932
  AddClientEncoding "RMA/*" CP932
  AddClientEncoding "xdwin9x/" CP932
  AddClientEncoding "cadaver/" UTF-8 EUCJP-MS
  AddClientEncoding "Mozilla/" EUCJP-MS
  NormalizeUsername on
</IfModule>
Alias /alias_directry_name /real_directry_in_full_path
<Location /alias_directry_name>
  AddDefaultCharset UTF-8
  Options +Indexes
  IndexOptions FancyIndexing FoldersFirst TrackModified
  DAV on
  AuthName "WebDAV Folder"
  AuthType Basic
  AuthUserFile /somewhere/.davpasswd
  Require user some_username_for_basic_authentication
  <LimitExcept HEAD OPTIONS>
       Require user some_username_for_basic_authentication
  </LimitExcept>
  Header add MS-Author-Via "DAV"
</Location>

# htpaswd -c /somewhere/.davpasswd some_username_for_basic_authentication
# /etc/init.d/httpd configtest
# /etc/init.d/httpd reload

Windows XP SP2以降では、Webフォルダ機能でのBASIC認証はhttpsでしか受け付けません。CentOS5は、標準でオレオレ証明書でのSSLが有効になっているので問題になりませんが、面倒な場合は自己責任でレジストリを変更して対処する方法もあるようです。

というわけで、着々とディスク使用量増加中

Aug
10
2008

Apache2.0.41 以降には、ディスクに書き出す前にメモリにログエントリをバッファするBufferedLogs ディレクティブが用意されています。

httpd.conf に BufferedLogs On って書いてrestartするだけ。

このディレクティブは実験的なものですので、 使用する際は注意してください。

ということですが、設定して ab(Apache Bench)で前後比較してみたところ、14~15%ほど早くなったので採用。
ファイル数多めなページだと、もうちょい効くのかも。

「どうせ、Google Analyticsで見るんだから、ログ取るの止めればいいじゃん。」という意見もありますが、生ログは取っておかないと何かとアレでしょ。ヲタクとして。

過去のエントリ(一覧)

最近のコメント

Powered by Movable Type 4.261
Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。