php-eaccelerator

OpenPNEがめっちゃ遅くてE-350では重荷。 どうにかならんのと思ったら、 eAccelerator というのがあるらしい。入れたら実際ちょびっと速くなった。 3秒待ちが2秒待ちになったってくらい。

aprモジュールが --prefix=/var/local/apache に入れてあったとすると

caam -j3 -gmaic --prefix=/var/local/apache/2.2.15 \
  --enable-rewrite --with-apr=/var/local/apache/bin/apr-1-config \
  --with-pcre=/var/local/apache --build=x86_64-pc-freebsd8
CAAM_ADD=apache caam -j3 -mai \
  --prefix=/var/local/apache/2.2.21 \
  --with-apxs2=/var/local/apache/2.2.21/bin/apxs \
  --with-libxml-dir=/var/local/apache --with-regex=system --without-iconv \
  --with-mysql=/var/local/mysql5 --enable-mbstring \
  --with-pdo-mysql=/var/local/mysql5 --with-gd=/var/local \
  --with-libxml-dir=/var/local --build=x86_64-pc-freebsd8
PHP_PREFIX=/var/local/apache/2.2.21 phpize
./configure --enable-eaccelerator=shared \
	--with-php-config=/var/local/apache/2.2.21/bin/php-config
make -j3 all install
cat<<_EOF_>/var/local/apache/2.2.21/lib/php.ini
[eaccelerator]
zend_extension="/var/local/apache/2.2.21/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
_EOF_
sudo -u _httpd mkdir -m 700 /tmp/eaccelerator

最初、php.iniをおく場所が分からなくて ktrace -i 「httpd起動スクリプト」 してつきとめた。

あと、/tmp/ の作業ディレクトリ作成はhttpd起動スクリプト内で やったほうがいいな。/tmp はメモリディスクだし。