There are a few things you can do to help speed up your site, that are highly recommended on high traffic sites.
Quick Checklist: Click on each item for section giving full details.
The "new" icon that displays next to each category that has any "new" listings in it, takes a lot of resources to calculate whether there are new listings in each category. We recommend to turn this feature off, as the more listings and/or categories you have, the more resources it will take to calculate if there are new listings in each of those categories. You can turn the feature off in your admin panel at:
Site Setup > Browsing Settings
Change the setting "New Listing" Time Limit: to the first selection, no display of new listing icon. The new icon requires it to "count" the number of listings in each category placed within a certain time period "on the fly", which creates a huge load on the database for high traffic sites. To a lesser degree this is true for category counts as well, since when a site filter is applied, it requires the software to count the number of listings in a category "on the fly". If your site makes heavy use of filters such as Geographic Navigation, Zip Search, etc. you may consider turning off category counts to speed page load times.
The following setting within the admin can have significant affects on the speed of client side
SITE SETUP > GENERAL > Levels of categories in Dropdown (client side)
You should only need to adjust this significantly if you have module and/or functionality on the client side that display a category dropdown and you have a significant amount of categories on your site. One of the modules that displays a category dropdown if set to use it is the Search Module 1. Within this module you can display the categories of the site for the client to choose to search. This dropdown must be created each time by the script. Creating the dropdown includes running the sql query on the database, getting the result of that query from the database, building that dropdown from the sql result and then pushing that dropdown to the client's browser. When thousands of categories are involved it can take several seconds for that page to completely display. That is where the above setting comes into affect.
Reducing the levels of categories to be displayed in this category dropdown can drastically affect the time needed at each step of building the category dropdown. So if you have a large amount of categories and display functionality that has a category dropdown within it play around with this setting to see what affects can be made.
Turning on caching within the Geo system can save much of this time but if you choose to display all your categories that run into the thousands we still recommend limiting the display of levels of categories. Your clients would still need to download the content of the dropdown from your site each time again slowing the page down somewhat.
You can improve the performance of your site further by the use of the Cache system. This feature can be found in your admin tool at the following location:
SITE SETUP > CACHE
And explained further here in the support wiki:
By default, the software will send a "signal" to run the cron heartbeat2) every time someone views a page in the software. This is done so that the cron heartbeat gets run and works even on servers that do not have ability to use cron tasks. If you have a high traffic site however, this can really bog down the site as each page load results in 2 loads, one to display the page, and another to run the heartbeat. You can improve this greatly by setting up a cron job on your server to run the heartbeat once a minute or so. See the page below for more information on how cron jobs and the cron heartbeat works:
This support wiki page explains lowering image quality to reduce image file sizes used by the software
These changes include changes to "minify" all your css and js files into one smaller file. Then also to force any non essential css/js for opening page load to be moved to the footer of the design so it may be loaded last. Those features can be found here in the admin tool:
DESIGN > SETTINGS > Combine, Minify, and Compress CSS and JS (Recommended for Live Sites) DESIGN > SETTINGS > Use {footer_html} to delay loading of certain javascript