Webclient Load Balacer Servoy Single Server

Forum to discuss the Web client version of Servoy.

Webclient Load Balacer Servoy Single Server

Postby nestrocuation » Wed Jun 19, 2013 12:31 am

Hello ,
I tried to do as suggested on http://wiki.servoy.com/display/public/D ... stallation for single servoy server using apache in front of servoy , so that my web client would be quicker . But its not working here is what i receive .

Code: Select all
"No data received"
Unable to load the webpage because the server sent no data.


My Jk module is mod_jk/1.2.35 PHP/5.2.17
I have centos with cpanel .
Default HTTPD port is 8081 , and right now no domain name so using external IP

My Server.xml
Code: Select all
<Server port="8005" shutdown="SHUTDOWN_NOW">
  <!-- Define the Tomcat Stand-Alone Service -->
  <Service name="Catalina">
    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL HTTP/1.1 Connector on port 8080
    -->
    <Connector port="8009"
   enableLookups="false" maxThreads="500" connectionTimeout="60000"
   redirectPort="8443" useBodyEncodingForURI="true" protocol="AJP/1.3" />

<!-- Note : To disable connection timeouts, set connectionTimeout value to -1 -->

    <!-- Define the top level container in our container hierarchy -->
    <!--Engine name="Catalina" defaultHost="localhost" -->
    <Engine jvmRoute="servoy1" name="Catalina" defaultHost="localhost">

      <!-- Because this Realm is here, an instance will be shared globally -->
      <Realm className="org.apache.catalina.realm.MemoryRealm" />

      <!-- Define the default virtual host -->
         <Host name="localhost"  appBase="webapps"
                            unpackWARs="true" autoDeploy="true"
                            xmlValidation="false" xmlNamespaceAware="false">

        <!-- Access log processes all requests for this virtual host.  By
             default, log files are created in the "logs" directory relative to
             $CATALINA_HOME.  If you wish, you can specify a different
             directory with the "directory" attribute.  Specify either a relative
             (to $CATALINA_HOME) or absolute path to the desired directory.
        -->
        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
                 pattern="common"/>

        <Context path="/lib" docBase="../../lib"/>
        <Context path="/plugins" docBase="../../plugins"/>
        <Context path="/beans" docBase="../../beans"/>
        <Context path="/lafs" docBase="../../lafs"/>
      </Host>
    </Engine>
  </Service>
</Server>



My httpd.conf
Code: Select all
LoadModule jk_module modules/mod_jk.so
# JK/Worker configuration

    # Where to find workers.properties
    JkWorkersFile conf/workers.properties
    # Where to put jk logs
    JkLogFile logs/mod_jk.log
    # Set the jk log level [debug/error/info]
    JkLogLevel    info
    JkMount /* loadbalancer

    # In case you want to be able to monitor JK status
    # <Location /jkmanager/>
    #    JkMount jkstatus
    #    Order deny,allow
    #    Deny from all
    #    Allow from 127.0.0.1
    # </Location>ls


Workers.property
Code: Select all
# The workers that your plugins should create and work with
# ---------------------------------------------------------
# add "jkstatus" to this list in case you want to be able to monitor JK status
worker.list=servoy1, servoy2, loadbalancer


# Define ajp13 workers for Servoy Tomcat servers in cluster
# ---------------------------------------------------------

# WORKER servoy1
worker.servoy1.port=8009
worker.servoy1.host=localhost
worker.servoy1.type=ajp13
worker.servoy1.fail_on_status=-503
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
#  ----> lbfactor must be > 0
#  ----> Low lbfactor means less work done by the worker.
worker.servoy1.lbfactor=1




# Load balancer
# -------------
# The loadbalancer (type lb) workers perform wighted round-robin
# load balancing with sticky sessions.
# Note:
#  ----> If a worker dies, the load balancer will check its state
#        once in a while. Until then all work is redirected to peer
#        workers.
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=servoy1
worker.loadbalancer.sticky_session = true

# In case you want to be able to monitor JK status
# http://localhost:8080/jkmanager/
# ------------------------------------------------

# Define a 'jkstatus' worker using status
#worker.jkstatus.type=status


Is there anything i am missing .
nestrocuation
 
Posts: 61
Joined: Tue Jun 08, 2010 11:27 pm

Re: Webclient Load Balacer Servoy Single Server

Postby david » Wed Jun 19, 2013 1:07 am

nestrocuation wrote:I tried to do as suggested on http://wiki.servoy.com/display/public/D ... stallation for single servoy server using apache in front of servoy, so that my web client would be quicker. But its not working


Load balancing with one Servoy server isn't going to make anything faster. And setting up Apache to use its content compression instead of Tomcat's is basically an unnoticeable improvement in the scheme of things.

We've been pounding at web client performance for over a year now. Basically, there are a whole bunch of coding and layout things that can cause web client to really slow down. And it's not considered fast to begin with because of the outdated technology being used. Chances are your app has a few of those things. Servoy web client is great for fast CRUD form development (and server-side coding tasks), but implementing advanced web applications that are snappy takes a whole different level of skill to get the last ounce of speed out of it.

The good news is we're working hard on something right now that will make web client go a bazillion times faster. Minimum. Stay tuned.
David Workman, Kabootit

Image
Everything you need to build great apps with Servoy
User avatar
david
 
Posts: 1727
Joined: Thu Apr 24, 2003 4:18 pm
Location: Washington, D.C.

Re: Webclient Load Balacer Servoy Single Server

Postby nestrocuation » Wed Jun 19, 2013 5:42 pm

David ,

Thanks and You are right , servoy is not that great and mostly not helpful but its decent enough for advanced web application .

With servoy 6 , and lots of layout changes and server side coding along with tomcat compression and SSD , my server speed has increased MIllion time not bazillion times. But i am trying to juice out everything Millisecond i get to make the app more quicker for users .

Its rude to ask magicians for their trick , but the good part is we are software developers if you think there is something that might increase the speed , would really appreciate if you can share .But i would still like to learn how to setup Webclient Load Balacer Servoy Single Server.
nestrocuation
 
Posts: 61
Joined: Tue Jun 08, 2010 11:27 pm

Re: Webclient Load Balacer Servoy Single Server

Postby Yeroc » Wed Jun 19, 2013 5:58 pm

Not sure exactly where your problem is but I'd start by simplifying your JK properties file...

Code: Select all
worker.list=servoy

worker.servoy.type=ajp13
worker.servoy.host=localhost
worker.servoy.port=8009


And then your JKMount changes to:
Code: Select all
JkMount /* servoy
Yeroc
 
Posts: 109
Joined: Tue Aug 12, 2008 1:12 am
Location: Calgary, AB, Canada


Return to Servoy Web Client

Who is online

Users browsing this forum: No registered users and 7 guests