phpicalendarがあまりに遅いので
eAcceleratorというのを入れてみた。結果としては「速くならない」のだが、
phpicalendarの設定で save_parsed_cals' => 'yes' を有効にするとかなり速くなることから、
iCalendarファイルの解析にかなり時間がかかっているのかもしれない。
eAcceleratorのインストール(FreeBSD)は
cd /usr/ports/www/eaccelerator
make
make install
でおしまい。
make installのときに
You have installed the eaccelerator package.
Edit /usr/local/etc/php.ini and add:
zend_extension="/usr/local/lib/php/20090626/eaccelerator.so"
Then create the cache directory:
mkdir /tmp/eaccelerator
chown www /tmp/eaccelerator
chmod 0700 /tmp/eaccelerator
と表示されるが、php.iniに直接設定するのではなく、ディレクトリを掘って配布のファイルをコピーした。
mkdir /usr/local/etc/php
cp /usr/local/share/examples/eaccelerator/eaccelerator.ini /usr/local/etc/php/
あとは指示どおり
mkdir /tmp/eaccelerator
chown www /tmp/eaccelerator
chmod 0700 /tmp/eaccelerator
して、
/usr/local/etc/rc.d/apache22 restart
で完了。
<?php phpinfo() ?>
とだけ書いたHTMLファイルをつくって、これをブラウザで開くと、
eAccelerator support | enabled |
Version | 0.9.6.1 |
Caching Enabled | true |
Optimizer Enabled | true |
Check mtime Enabled | true |
Memory Size | 33,554,360 Bytes |
Memory Available | 31,534,256 Bytes |
Memory Allocated | 2,020,104 Bytes |
Cached Scripts | 32 |
Removed Scripts | 0 |
Directive | Local Value | Master Value |
eaccelerator.allowed_admin_path | no value | no value |
eaccelerator.cache_dir | /tmp/eaccelerator | /tmp/eaccelerator |
eaccelerator.check_mtime | 1 | 1 |
eaccelerator.debug | 0 | 0 |
eaccelerator.enable | 1 | 1 |
eaccelerator.filter | no value | no value |
eaccelerator.log_file | /var/log/httpd-eaccelerator.log | /var/log/httpd-eaccelerator.log |
eaccelerator.optimizer | 1 | 1 |
eaccelerator.shm_max | 0 | 0 |
eaccelerator.shm_only | 0 | 0 |
eaccelerator.shm_prune_period | 0 | 0 |
eaccelerator.shm_size | 0 | 0 |
eaccelerator.shm_ttl | 0 | 0 |
と出て確認できる。