Hi - thanks for a really supporting community!
Rodrigo, I have posted the firebug profile below for the requests - as mentioned the application uses REST - so these are all "API" calls.
Haensal, thanks for your suggestions. All the database queries used in my testing should be simple queries from single tables… so it can’t be that. Is there a function in Yii I can “catch”/log the sql actually being executed?
Maurizio, thanks for the insight… Our frontend is in EXTJS that sends "API" calls via REST… perhaps we should consider a different approach if the scenario you described is the situation… Or is it possible to somehow cache the "environment setup" as you call it?
Perhaps any Yii "gurus" can glean something from the requests below? Let me know if there is anything else I can send?
My current thinking is that since each of the requests below executes all those lines of code it adds up… The question is can we issue less requests (Rodrigo’s comment about the browser only being able to execute two concurrent requests at a time refers), and can the code for these requests be rewritten to require less loading of Yii’s files.
many thanks again,
David
(NOTE: EXTJS debug function is switched-on, which DOES decrease performance, but even with it off, some pages load for more than 30 seconds…
I also replaced / with | below since the forum app does not allow new members to post links (which makes sense)).
GET http:||localhost|peff|peff|js|peff|api|check|provider|grid.json?_dc=1350038276851
200 OK
893ms
GET http:||localhost|peff|peff|js|peff|app|controller|provider|grid.js?_dc=1350038278765
200 OK
1.18s
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|model|provider|edit.js?_dc=1350038280009
200 OK
934ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|model|provider|grid.js?_dc=1350038280982
200 OK
700ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|model|providercollectcost_item|grid.js?_dc=1350038281722
200 OK
1.89s
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|model|providercollectstaff|grid.js?_dc=1350038283669
200 OK
998ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|view|provider|edit.js?_dc=1350038284705
200 OK
640ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|view|provider|grid.js?_dc=1350038285379
200 OK
776ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|ux|grid|GridHeaderFilters.js?_dc=1350038286238
200 OK
13ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|ext-4.1.3|src|grid|plugin|RowEditing.js?_dc=1350038286297
200 OK
13ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|ext-4.1.3|src|grid|plugin|Editing.js?_dc=1350038286352
200 OK
18ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|ext-4.1.3|src|grid|RowEditor.js?_dc=1350038286415
200 OK
9ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|ux|grid|column|Association.js?_dc=1350038286474
200 OK
11ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|ux|grid|column|Int.js?_dc=1350038286520
200 OK
15ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|ux|grid|column|String.js?_dc=1350038286575
200 OK
12ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|ux|toolbar|ScrollInfo.js?_dc=1350038286620
200 OK
14ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|ext-4.1.3|src|grid|column|Date.js?_dc=1350038286674
200 OK
15ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|view|providercollectcost_item|grid.js?_dc=1350038286731
200 OK
1.59s
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|view|providercollectstaff|grid.js?_dc=1350038288418
200 OK
949ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|store|provider|edit.js?_dc=1350038289447
200 OK
299ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|store|provider|grid.js?_dc=1350038289765
200 OK
306ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|store|providercollectcost_item|grid.js?_dc=1350038290115
200 OK
361ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|app|store|providercollectstaff|grid.js?_dc=1350038290516
200 OK
302ms
ext-debug.js (line 5963)
GET http:||localhost|peff|peff|js|peff|api|provider|grid?_dc=1350038292262&page=1&start=0&limit=60
200 OK
873ms
Connec…9646342 (line 309)
Object { header=
"Id"
, dataIndex=
"id"
, filter={…}, more…}
Compon…9648361 (line 39)
Object { header=
"Name"
, dataIndex=
"name"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { header=
"Phone1"
, dataIndex=
"phone1"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { header=
"Phone2"
, dataIndex=
"phone2"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { header=
"Fax"
, dataIndex=
"fax"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { header=
"Website"
, dataIndex=
"website"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { header=
"Address1"
, dataIndex=
"address1"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { header=
"Address2"
, dataIndex=
"address2"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { header=
"Suburb"
, dataIndex=
"suburb"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { header=
"City Town"
, dataIndex=
"city_town"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { header=
"Area Id"
, dataIndex=
"area_id"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { header=
"Notes"
, dataIndex=
"notes"
, editor={…}, more…}
Compon…9648361 (line 39)
Object { xtype=
"toolbar"
, dock=
"top"
, items=[7], more…}
Compon…9648361 (line 39)
Object { id=
"providergrid-add"
, text=
"Add"
, tooltip=
"Add a new row"
, more…}
Compon…9648361 (line 39)
Object { id=
"providergrid-edit"
, text=
"Edit"
, tooltip=
"Edit the selected item"
, more…}
Compon…9648361 (line 39)
Object { id=
"providergrid-delete"
, text=
"Delete"
, tooltip=
"Delete the selected item|items"
, more…}
Compon…9648361 (line 39)
Object { xtype=
"tbfill"
, height=
0
}
Compon…9648361 (line 39)
Object { text=
"Reset Filters"
, tooltip=
"Reset Filters"
, xtype=
"button"
, more…}
Compon…9648361 (line 39)
Object { text=
"Clear Filters"
, tooltip=
"Clear Filters"
, xtype=
"button"
, more…}
Compon…9648361 (line 39)
Object { text=
"Apply Filters"
, tooltip=
"Apply Filters"
, xtype=
"button"
, more…}
Compon…9648361 (line 39)
Object { xtype=
"scrollinfotoolbar"
, store=
"provider.grid"
, dock=
"bottom"
, more…}
Compon…9648361 (line 39)
Object { xtype=
"tbfill"
, height=
0
}
Compon…9648361 (line 39)
Object { xtype=
"tbtext"
, itemId=
"displayItem"
, isContained={…}}
Compon…9648361 (line 39)
Object { xtype=
"tab"
, card={…}, disabled=
false
, more…}
Compon…9648361 (line 39)
Object { isCheckerHd=
true
, text=
" "
, width=
24
, more…}
Compon…9648361 (line 39)