= bug description =
ask.fpo is comparatively slower than upstream askbot.org. One of the reasons being SSL connections in ask.fpo. Need to look into other aspects which can be improved from ask.fpo perspective w/o upstream changes.
= bug analysis =
1) ssl connections
2) longer blocking queue for other resources
3) JS is not compressed.
4) Misconfigured ETags for resources
= fix recommendation =
1) For blocking que - move some resources to alternate FQDN/CDN.
2) Enable compression for JS + other resources
3) Etags and other Yslow goodness.
Default setup - 21 requests, 657kb, 1.04 s, http://tools.pingdom.com/fpt/#!/3R3vS/http://fedora.hackalyst.info/questions/
Optimized setup - 15 requestsm 253kb, 708 ms , http://tools.pingdom.com/fpt/#!/eNP7yA/http://fedora.hackalyst.info/questions/
Both from NYC
Changes made :
Added another domain for static resources . This reduced queue blocking.
Enabled js/css cache and minimization in django, this reduced number of resource calls and their sizes.
Enabled gzip in apache. gzip in django is very restrictive and doesn't serve our purpose here.
Askbot / django changes are all in settings.py only.
Figure out way to split js, css and images to various domains. This will improve speed further by cutting down wait time by half.
adding askbot files to staging
initial copy from prod to staging
compression and other changes
While working on the ask staging instance which has askbot 0.7.48 , I found that the template is missing some of the compression tags which are important in compressing js and css. I checked upstream 0.7.48 as well and they are amiss there as well.
So two options are:
1)Patch our 0.7.48 with new changes from 0.7.49.
2) Upgrade to 0.7.49 with Django1.4 (or Django1.5 is possible)
I vote for the second one as 0.7.49 has some more changes not so evident in change log but which improve performance (for example deprecating anonymous cache)
Also, in terms of apache, mode_deflate was disabled on the stg node.
Yeah, we need to build against Django 1.4 for a number of reasons now:
1.3 is no longer being maintained in EPEL.
We need 1.4 for multi lang support ticket #3818
So, lets get https://bugzilla.redhat.com/show_bug.cgi?id=1004495 solved and get updated to 0.7.49 with Django14. :)
Moving this to ask component.
We should revisit after the upgrade on monday...
ok, we are in production.
It seems pretty fast to me... but feel free to re-open if you still see any issues.
to comment on this ticket.