#counter([total|today|yesterday]); RIGHT:&lastmod;更新 ---- Contents #contents ---- *Xcache for PHP [#p3763842] このWikiもそうだけど、OpnePNEなどのPHPで動くコンテンツは、ユーザ数が増えてくると重~くなるそうな・・・というわけで、Xchacheを入れてみることにする。例によって、 piano:root {203} % locate xcache /usr/ports/www/xcache /usr/ports/www/xcache/Makefile /usr/ports/www/xcache/distinfo とのことなので、 piano:root {204} % portinstall www/xcache すると、 ---------------------------------------------------------------------- Libraries have been installed in: /usr/ports/www/xcache/work/xcache-1.2.2/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- ***************************************************************************** You have installed the xcache package. To enable it copy the /usr/local/share/examples/xcache/xcache.ini sample config file into /usr/local/etc/php/ and modify it to suit your needs. ***************************************************************************** piano:root {205} % cp /usr/local/share/examples/xcache/xcache.ini /usr/local/etc/php/ /usr/local/etc/php.ini に追加設定が必要か?とおもったけど、 http://piano.smb.net/~openpne/phpinfo で確認したら、 |additional .ini files parsed|/usr/local/etc/php/extensions.ini, /usr/local/etc/php/xcache.ini| ということで、/usr/local/etc/php/xcache.ini の設定が反映されてました。 /usr/local/etc/php/extensions.ini の内容を/usr/local/etc/php.ini にも書き込んでいたら、Cron <root@piano> sh /usr/home/openpne/bin/tool_rss_cache.cron /usr/home/openpne/bin/ /usr/local/bin/php が動作したとき、 PHP Warning: Module 'XCache' already loaded in Unknown on line 0 というエラーが報告されました。これは、 extension = xcache.so がPHP起動時に二回呼び出されたためのモノのようです。 [xcache-common] ;; install as zend extension (recommended, but not working yet) ; zend_extension = /usr/local/lib/php/20060613-debug/xcache.so ; zend_extension_ts = /usr/local/lib/php/20060613-debug/xcache.so ;; or install as extension extension = xcache.so [xcache.admin] xcache.admin.enable_auth = On xcache.admin.user = "admin" ; xcache.admin.pass = md5($your_password) xcache.admin.pass = "" [xcache] ; ini only settings, all the values here is default unless explained ; select low level shm/allocator scheme implemenation xcache.shm_scheme = "mmap" ; to disable: xcache.size=0 ; to enable : xcache.size=64M etc (any size > 0) and your system mmap allows xcache.size = 64M ; set to cpu count (cat /proc/cpuinfo |grep -c processor) xcache.count = 2 ; just a hash hints, you can always store count(items) > slots xcache.slots = 8K ; ttl of the cache item, 0=forever xcache.ttl = 0 ; interval of gc scanning expired items, 0=no scan, other values is in seconds xcache.gc_interval = 0 ; same as aboves but for variable cache xcache.var_size = 0M xcache.var_count = 1 xcache.var_slots = 8K ; default ttl xcache.var_ttl = 0 xcache.var_maxttl = 0 xcache.var_gc_interval = 300 xcache.test = Off ; N/A for /dev/zero xcache.readonly_protection = Off ; for *nix, xcache.mmap_path is a file path, not directory. ; Use something like "/tmp/xcache" if you want to turn on ReadonlyProtection ; 2 group of php won't share the same /tmp/xcache ; for win32, xcache.mmap_path=anonymous map name, not file path xcache.mmap_path = "/dev/zero" ; leave it blank(disabled) or "/tmp/phpcore/" ; make sure it's writable by php (without checking open_basedir) xcache.coredump_directory = "" ; per request settings xcache.cacher = On xcache.stat = On xcache.optimizer = Off [xcache.coverager] ; per request settings ; enable coverage data collecting for xcache.coveragedump_directory and xcache_coverager_start/stop/get/clean() functions (will hurt executing performance) ;xcache_coverager_start/stop/get/clean() functions (will hurt executing performance) xcache.coverager = Off ; ini only settings ; make sure it's readable (care open_basedir) by coverage viewer script ; requires xcache.coverager=On xcache.coveragedump_directory = "" http://www.ecoop.net/memo/2007-06.html