My site: lifesrule.com takes 8-13 secs to load (avg) which is too long. I tried WP-Cache, and than I set my Xcache settings. Here are my xcache settings.. can anyone tell me any ways to improve them? [xcache-common] ;; install as zend extension (recommended), normally "$extension_dir/xcache.so" ;zend_extension = /usr/lib/php/modules/xcache.so ; zend_extension_ts = /usr/local/lib/php/extensions/non-debug-zts-xxx/xcache.so ;; For windows users, replace xcache.so with php_xcache.dll ;zend_extension_ts = c:/php/extensions/php_xcache.dll ;; or install as extension, make sure your extension_dir setting is correct ; extension = xcache.so ;; or win32: ; extension = php_xcache.dll [xcache.admin] xcache.admin.user = "mOo" ; 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 = 32M ; set to cpu count (cat /proc/cpuinfo |grep -c processor) xcache.count = 1 ; 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 = 12M 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 = "/tmp/xcache" ; 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 = On [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 = Off ; ini only settings ; make sure it's readable (care open_basedir) by coverage viewer script ; requires xcache.coverager=On xcache.coveragedump_directory = "" Code (markup):
I don't think xcache is running on your system. One of the extension= lines above needs to be uncommented for the extension to be loaded. You can test whether it is actually being loaded or not by either creating a PHP info page or by typing "php -i" on the command line. For PHP info, just create a file with this in it and request it in a browser. <?php phpinfo() ?> PHP: Don't forget to remove the PHP info file after you are finished using it because it discloses sensitive information that could be a security risk. It might also be worth installing Xdebug temporarily to see if you can drill down to exactly what is causing the pages to load slowly. It might be the database that is going slow and not PHP or Wordpress at all. Xdebug will show this up.
I just remembered some other things that can cause big slowdowns in WordPress (and other software of this nature). Some anti-spam plugins will do DNS-blacklist lookups which can add a bit of extra overhead and some plugins that do user tracking can do reverse DNS lookups for every visitor. Also, related-post plugins can spend a lot of time finding the related posts if the MySQL tables don't have the appropriate indexes and you have a lot of posts or very large posts. Try removing plugins, one at a time, and testing the speed of your pages after you remove each one. Also, as I said before, use Xdebug for a while. It can tell you exactly which PHP functions are the ones using up all the time in the page load. Because you are using Lighttpd I think it's less likely that PHP is the problem and more likely that some other process (such as DNS lookups or MySQL queries) is likely to be the problem. If you see that the function that is using 90% of the time is mysql_query() then it's definitely your database.