Need help with Xcache (lighttpd)

Discussion in 'Site & Server Administration' started by spikednet, Oct 23, 2008.

  1. #1
    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):

     
    spikednet, Oct 23, 2008 IP
  2. Ladadadada

    Ladadadada Peon

    Messages:
    382
    Likes Received:
    36
    Best Answers:
    0
    Trophy Points:
    0
    #2
    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.
     
    Ladadadada, Oct 25, 2008 IP
  3. agnivo007

    agnivo007 Peon

    Messages:
    4,290
    Likes Received:
    289
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Also ensure your mysql server is not the real problem.
     
    agnivo007, Oct 27, 2008 IP
  4. Ladadadada

    Ladadadada Peon

    Messages:
    382
    Likes Received:
    36
    Best Answers:
    0
    Trophy Points:
    0
    #4
    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. :p
     
    Ladadadada, Oct 27, 2008 IP