Originally Posted by
PSmith
Based on external observation of the generated content and traffic, I’m not really surprised that FPN is slow. However, there seem to be some obvious improvements that could be implemented at zero cost.
• The amount –about 30%- of inline CSS in each and every single page is simply nauseating. Moving it to an separate, cached, file should significantly reduce server load.
• Expires headers could be added on static content to allow client side caching. Although FPN uses ETags, thus making cache validation possible, this still generates many, albeit small, requests per page.
• Javascript files can be consolidated, minified and gzipped. At least they're not all inline as well.
• Apache is apparently used to serve everything. An efficient reverse proxy server could be installed to cache static content on the server and reduce load on the main http server.
• Completely replacing Apache with Nginx could significantly reduce load on the server and improve performance. This is possibly non-trivial since Invision considers Apache to be the bee's knees.
• In light of the above, it might be worthwhile to profile the database as well. Poorly constructed or missing indexes can reduce performance by several orders of magnitude.
I find it surprising that FPN has chosen to spend a significant amount of money on hardware and bandwidth without considering the efficiency of the current configuration. Note that it almost certainly has to be hardware and bandwidth since the software is either free (Linux, Apache, PHP, MySQL) or low cost (IP.Board). The classifieds seem to be a custom development, but should not cost an arm and a leg.