Apache JBoss load balancer issue

Discussion in 'Apache' started by say_hi_ravi, Jul 19, 2010.

  1. #1
    We are facing an issue with Apache not being able to serve all the requests efficiently. In server satus page I can see there are many requests currently waiting for JBoss instances to respond. We are using mod_jk connector to load balance JBoss instances across two datacenters. Due to this issue we are facing some URLs being inaccessible.

    240 requests currently being processed, 34 idle workers
    WWWWWWW_WWW_WWWWWW_WKWWW_WWWW__W_W_WWWWWWWWWWWWWWWWWWWWWWWWWWWWW
    WWWWWWWWWWWWWWWWWWWWW_WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW_WWW
    WWWK_WWW_WWWWWWWWWWWWWWWW_WWWWWWWWWWWW_WWWWWWWWWWWWWWWWWWWWWWWWW
    WWWWWWWWWWWWWW_WWWWWKWWWWWWW_W__WWWWWWWWWWKWWWWWWWWKW_W_WWW_W_KW
    _W_WKW__WK________..............................................
    ................................................................
    ................................................................
    ................................................................
    ................................................................


    I am not sure if we are missing on something or some performance tuning parameters. Below are few params in configuratin file of Apache https.conf

    Timeout 120
    KeepAlive On
    MaxKeepAliveRequests 100
    KeepAliveTimeout 15


    <IfModule prefork.c>
    StartServers 8
    MinSpareServers 5
    MaxSpareServers 20
    ServerLimit 1024
    MaxClients 1024
    MaxRequestsPerChild 4000
    </IfModule>

    <IfModule worker.c>
    StartServers 2
    MaxClients 150
    MinSpareThreads 25
    MaxSpareThreads 75
    ThreadsPerChild 25
    MaxRequestsPerChild 0
    </IfModule>


    LoadModule jk_module /opt/jfarm/apache-modules/mod_jk-linux-x64/mod_jk-1.2.28-httpd-2.2.X.so

    <VirtualHost *:80>
    DocumentRoot /etc/httpd/htdocs
    CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log 10M" common
    ErrorLog /var/log/httpd/error_log
    JkMount /jkstatus jkstatus
    </VirtualHost>

    <VirtualHost *:80>
    ServerName jfarm-apex-int-jb.nomura.com
    ServerAlias jfarm-apex-int-jb
    JkMount /* lb-apex-integration
    CustomLog "|/usr/sbin/rotatelogs /opt/jfarm/apache/logs/apex-integration.access.log 10M" common
    ErrorLog /opt/jfarm/apache/logs/apex-integration.error.log
    </VirtualHost>


    Our workers.properties file looks like this (apex is an example of one worker for jboss insatnce. Like this tehre are many workers)

    worker.list=jkstatus
    worker.jkstatus.type=status
    worker.basic.connection_pool_timeout=600
    worker.basic.socket_keepalive=1

    worker.apex-integration1.host=server1
    worker.apex-integration1.port=12252
    worker.apex-integration1.type=ajp13
    worker.apex-integration1.lbfactor=1
    worker.apex-integration2.host=server2
    worker.apex-integration2.port=12252
    worker.apex-integration2.type=ajp13
    worker.apex-integration2.lbfactor=1
    worker.lb-apex-integration.type=lb
    worker.lb-apex-integration.balance_workers=apex-integration1,apex-integration2
    worker.lb-apex-integration.sticky_session=1
    worker.list=lb-apex-integration
    worker.lb-apex-integration.reference=worker.basic

    Any help much appreciated!

    Thanks,
    Ravi
     
    say_hi_ravi, Jul 19, 2010 IP