Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0004571Openbravo ERPI. Performancepublic2008-08-05 09:502011-09-21 23:14
opablo 
shuehner 
highminoralways
closedout of date 
5Any
2.40beta 
3.0MP0 
Core
No
0004571: Grid scrolling is slow
When working with more than 10000 records, grid scrolling slows down.
Any grid with more than 10000 results
Avoid unnecessary AJAX requests when scrolling (request only new data and not al grid)
250MP1
depends on backport 0004930 closed shuehner Grid scrolling is slow 
Issue History
2008-08-05 09:50opabloNew Issue
2008-08-05 09:50opabloAssigned To => cromero
2008-08-05 09:50opablosf_bug_id0 => 2038537
2008-08-05 09:50opabloIssue Monitored: opablo
2008-08-14 10:06psarobeAssigned Tocromero => dbaz
2008-08-14 10:06psarobeSeveritymajor => minor
2008-08-14 10:07psarobeStatusnew => scheduled
2008-08-14 10:07psarobefix_in_branch => trunk
2008-08-20 16:57iperdomoNote Added: 0008639
2008-10-02 13:56pjuvaraNote Added: 0009318
2008-10-02 13:56pjuvaraStatusscheduled => feedback
2008-10-02 13:58pjuvaraPrioritynormal => high
2008-10-08 14:07opabloNote Added: 0009438
2008-10-08 14:34opabloNote Added: 0009439
2008-10-13 10:10psarobeStatusfeedback => scheduled
2008-10-13 10:10psarobeAssigned Todbaz => shuehner
2008-10-15 19:30shuehnerNote Added: 0009594
2008-10-16 15:42villindNote Added: 0009605
2009-04-23 16:05psarobeTag Attached: 250MP1
2011-09-21 23:14shuehnerNote Added: 0041219
2011-09-21 23:14shuehnerStatusscheduled => closed
2011-09-21 23:14shuehnerResolutionopen => out of date
2011-09-21 23:14shuehnerFixed in Version => 3.0MP0

Notes
(0008639)
iperdomo   
2008-08-20 16:57   
Not all data is requested in the Ajax call. 20 records above and below from the ones that you see are present in the reponse.
(0009318)
pjuvara   
2008-10-02 13:56   
We do not experience this issue in our testing environment.
Can you please provide more detailed reproduction instructions?
(0009438)
opablo   
2008-10-08 14:07   
Please view issue 5635. Maybe it is slow because of that issue...

We have 13000 business partners and when we scroll (moving the mouse wheel) the Business Partner grid it is slow

Regards,

Óscar
(0009439)
opablo   
2008-10-08 14:34   
After some checking... in this case is not requesting twice the data. It is simply slow. Here you have the log of the requests:

127.0.0.1 - - [08/Oct/2008:14:27:29 +0200]
POST /openbravo/utility/DataGrid.html?Command=DATA&inpadTabId=220&inpadWindowId=123 HTTP/1.1 200 15266 2162
127.0.0.1 - - [08/Oct/2008:14:27:33 +0200]
POST /openbravo/utility/DataGrid.html?Command=DATA&inpadTabId=220&inpadWindowId=123 HTTP/1.1 200 14955 1863
127.0.0.1 - - [08/Oct/2008:14:27:48 +0200]
POST /openbravo/utility/DataGrid.html?Command=DATA&inpadTabId=220&inpadWindowId=123 HTTP/1.1 200 15068 3485
127.0.0.1 - - [08/Oct/2008:14:28:06 +0200]
POST /openbravo/utility/DataGrid.html?Command=DATA&inpadTabId=220&inpadWindowId=123 HTTP/1.1 200 15068 1940

The last number is the time taken to process the request (in milliseconds). Note that while processing the request (and 2 seconds is a lot of time) all user entries are ignored (if the user keeps scrolling the grid, there is no response and it seems the grid has just hanged up)

Regards,

Óscar
(0009594)
shuehner   
2008-10-15 19:30   
The 2 seconds time for the request is very strange. We did test with 25.000 business partners a i get a local request time of 200-300ms (server and browser locally).

So we have to figure out what is different in your setup

- Did you use any filters or specify a special sorting?
- Are both systems locally or on different machines (so we have extra network latency)?
- Is this on a idle server?
- Can you please post the post parameters (request-body) for one of these slow requests (i.e. by using firebug)?
(0009605)
villind   
2008-10-16 15:42   
Scrolling with mouse wheel or touchpad scroll is slow as it is sending request continuously to the server.

Could it be possible to disable these request for short period, e.g. 100ms?

One more thing that can be considered is to tune the request size. It can be for example 3 pages instead of one at the time.
(0041219)
shuehner   
2011-09-21 23:14   
With the new 3.0 major release the grid was completely rewritten so does have the same old problems anymore.
Specifically two of the improvements ideas mentioned in the last comment have been implemented:
- batch fetching of chunks > visible page-size
- skipping of request on scrolling if the scrolling did not yet stop. Only after a small delay of around 75ms without any scrolling action the next server request is triggered.
Marking as out-of-date + fixed in 3.0