[TriPython] Places to look at performance tuning
Ken MacKenzie
ken at mack-z.com
Tue Jun 6 17:31:57 EDT 2017
Wait brain fart, that actually goes back to the IO bound issue.
Ok so let me think about this. If it is IO bound why does it still show
near 20 seconds for TTFB?
steps, rough outline
take request
based on route send request to function 1
function 1 adds some gravy then redirects to a core function
core function processes the query string in the request and...
does the ORM filter and groub_by setup
handles setting up the DictBundle
for now also deals with date/time and decimal conversion on fields
gets the data
after all the data is back marshals it for the return (json by default
but there is also a csv option)
returns to function 1
function 1 places returned marshaled data in resp.body and creates the
resp.header
When I was thinking IO bound I was thinking that it was the browser
actually getting the response data over http.
Perhaps my IO bound issues are in the creation of the objects or the
marshaling the response
to explain function 1 and core. core is a core transaction module,
functions 1-3 are types of transactions expense, revenue, budget hence that
division in the logic.
On Tue, Jun 6, 2017 at 5:22 PM, Ken MacKenzie <ken at mack-z.com> wrote:
>
> (method 'poll' of 'select.poll objects) seems to be the place where I am
> hitting the performance bottleneck.
>
> To me I could think of that as either the ORM or the previous indexing
> suggestion or both.
>
>
>
-------------- next part --------------
Wait brain fart, that actually goes back to the IO bound issue.
Ok so let me think about this.** If it is IO bound why does it still show
near 20 seconds for TTFB?
steps, rough outline
take request
based on route send request to function 1
function 1 adds some gravy then redirects to a core function
core function processes the query string in the request and...
** ** does the ORM filter and groub_by setup
** ** handles setting up the DictBundle
** ** for now also deals with date/time and decimal conversion on fields
** ** gets the data
** ** after all the data is back marshals it for the return (json by
default but there is also a csv option)
** ** returns to function 1
function 1 places returned marshaled data in resp.body and creates the
resp.header
When I was thinking IO bound I was thinking that it was the browser
actually getting the response data over http.
Perhaps my IO bound issues are in the creation of the objects or the
marshaling the response
to explain function **1 and core. **core is a core transaction module,
functions 1-3 are types of transactions expense, revenue, budget hence
that division in the logic.
On Tue, Jun 6, 2017 at 5:22 PM, Ken MacKenzie <[1]ken at mack-z.com> wrote:
(method 'poll' of 'select.poll objects) seems to be the place where I am
hitting the performance bottleneck.
To me I could think of that as either the ORM or the previous indexing
suggestion or both.
References
Visible links
1. mailto:ken at mack-z.com
More information about the TriZPUG
mailing list