[TriPython] Places to look at performance tuning
Ken MacKenzie
ken at mack-z.com
Tue Jun 6 11:43:56 EDT 2017
So I am in the demo and test phase of an early ReSTful API for reporting.
Currently a wider scale report set request hits the following marks:
TTFB: ~20s
Record Count: ~92k
Download Size: 15.8MB
Details:
Web Server: NGINX
Python App Server: Gunicorn
Web Framework: Falcon
Python version: 3.5 (in a venv)
DB: MS SQL Server Express using SQL Alchemy + pyodbc
Webserver OS: CentOS 7
Gunicorn is setup with 4 workers, on a private port, nginx does a proxy
pass to the port
DB Details, the table in question has a total of about 8 million rows.
Sample query execution within SQL Server Mgmt Studio is ~7s
So my question is which of the following would be a better target to
improve performance, or do I need to as my performance should be considered
good enough. I mean the server in this case is a surplus dual core desktop
right now.
add gzip compression to nginx for proxys
switch gunicorn to use a unix socket instead of a tcp port
consider leaner SQL and JSON marshaling requests instead of ORM's and
dictionary bundles.
Appreciate and advice or suggestions. Thank you.
-------------- next part --------------
So I am in the demo and test phase of an early ReSTful API for reporting.
Currently a wider scale report set request hits the following marks:
TTFB: ~20s
Record Count: ~92k
Download Size: 15.8MB
Details:
Web Server: NGINX
Python App Server: Gunicorn
Web Framework: Falcon
Python version: 3.5 (in a venv)
DB: MS SQL Server Express using SQL Alchemy + pyodbc
Webserver OS: CentOS 7
Gunicorn is setup with 4 workers, on a private port, nginx does a proxy
pass to the port
DB Details, the table in question has a total of about 8 million rows.**
Sample query execution within SQL Server Mgmt Studio is ~7s
So my question is which of the following would be a better target to
improve performance, or do I need to as my performance should be
considered good enough.** I mean the server in this case is a surplus dual
core desktop right now.
add gzip compression to nginx for proxys
switch gunicorn to use a unix socket instead of a tcp port
consider leaner SQL and JSON marshaling requests instead of ORM's and
dictionary bundles.
Appreciate and advice or suggestions.** Thank you.
More information about the TriZPUG
mailing list