Openbravo Issue Tracking System - Retail Modules
View Issue Details
0029911Retail ModulesWeb POSpublic2015-05-18 10:512015-08-30 07:02
mtaal 
mtaal 
normalmajorhave not tried
closedfixed 
5
 
RR15Q4 
mtaal
No
0029911: WebPOS Login Technical Implementation Improvement
Re-visit the current logic which is being run when a user logs in. Check if we can combine requests together to get to less requests, see if queries can be optimized.

Create a jmeter test which can simulate many simulteneous logins to check resource consumption.
http://wiki.openbravo.com/wiki/Projects:Retail_Login_Process_Improvements [^]
No tags attached.
depends on feature request 0030040 closed Sandrahuguet Refactor of the Terminal Properties to improve Web POS login 
Issue History
2015-05-18 10:51mtaalNew Issue
2015-05-18 10:51mtaalAssigned To => mtaal
2015-05-18 10:51mtaalTriggers an Emergency Pack => No
2015-08-24 13:03mtaalRelationship addeddepends on 0030040
2015-08-30 06:56mtaalStatusnew => scheduled
2015-08-30 06:58mtaalNote Added: 0079812
2015-08-30 06:58mtaalNote Added: 0079813
2015-08-30 06:58mtaalStatusscheduled => resolved
2015-08-30 06:58mtaalFixed in Version => RR15Q4
2015-08-30 06:58mtaalResolutionopen => fixed
2015-08-30 07:01mtaalNote Added: 0079814
2015-08-30 07:02mtaalReview Assigned To => mtaal
2015-08-30 07:02mtaalNote Added: 0079815
2015-08-30 07:02mtaalStatusresolved => closed

Notes
(0079812)
mtaal   
2015-08-30 06:58   
Current status: support 900 concurrent logins

There are some opportunities to check further by using apache connection pool, see snippet of email below. But for current projects it is not needed to support more as large stores can have their own store server to balance the load on login.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Hi Martin,

This is where 1000 concurrent user login test was left out in the middle of July:

    T9 results https://docs.google.com/document/d/15KyTV2thUk4oVFcQSaqsfJv6THbMzyUW9yU7hCEVGNk/edit [^]
    Test scenarios https://docs.google.com/spreadsheets/d/1VTVsTeQn3d4Mb11TnfZLhexMYsPT-wNTX9ukypbWN1I/edit#gid=2002035676 [^]


In the meantime, from July to nowadays, , it seems now Openbravo is able to use Apache Tomcat pool style implementation to improve the database performance for high concurrent environments. So, It seems, I was not totally wrong in my previous e-mail, demanding some pool features there were not ready yet.

So I guess it makes sense to check 1000 concurrent logins with this new implementation (see bellow)


    http://wiki.openbravo.com/wiki/Modules:Apache_JDBC_Connection_Pool [^]

        Openbravo provides a free commercial module that implements the Tomcat JDBC Connection Pool.
        Starting from 3.0PR15Q4 Apache JDBC Connection Pool module is included within Openbravo 3.0 distribution
         It merges the current two connection pools (Hibernate default connection pool for DAL-related queries + Apache DBCP for the connections provided by the ConnectionProviderImpl.) into one logical pool.
        It provides advanced pool capabilities that if properly configured will improve the database performance for high concurrent environments.
        It allows the addition of custom interceptors that can be used to enhance the functionality in several ways (Add database monitoring, Retry queries, Cache query results, ..)

    More links:

        http://centralrepository.openbravo.com/openbravo/org.openbravo.forge.ui/ForgeModuleDetail/Apache-External-Connection-Pool [^]
        http://wiki.openbravo.com/wiki/Projects:Inclusion_Of_Apache_JDBC_Connection_Pool_In_Distribution [^]
        http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html [^]
(0079813)
mtaal   
2015-08-30 06:58   
See previous note
(0079814)
mtaal   
2015-08-30 07:01   
To accomplish high volume login support 2 things are important to note:
- remote data preferences where enabled so product and business partners were not loaded at login
- tests were done using jmeter

In high volume environments it makes sense to install this module:
https://code.openbravo.com/erp/pmods/org.openbravo.retail.highvolumesconfig/ [^]

and check related indexes also
(0079815)
mtaal   
2015-08-30 07:02   
Tested