2

Our document has a very high waiting time and very low receiving time.

enter image description here

Is there a way to get the document to start receiving earlier?

  • 1
    You should also test your DNS performance for example by looking at webpagetest.org. Fairly easy to optimise by switching to a faster provider that is closer to market. – jdog Aug 21 '14 at 7:44
4

The waiting time is basically the time it takes your server to understand what it should do. When you send a request to a server, it will take time from the initial contact to when it sends its response (waiting). So the only way to speed up the waiting time is to speed up your server. Now that can be done with more then just a server upgrade though.

So here are some questions to ask yourself to help troubleshoot.

How many extensions do you have? Do some pages take longer then others? If so what exact extensions load on those pages or are there alternatives? Is Joomla up to date? Can you test an upgrade and see if that helps (with backup ready)? Can you live with out them? Is the server taking a high load?

But in all honesty for 14ish kb of data and 500ms to load it, its not lightning fast but in my opinion nothing to really worry about to much either. Although the image does not show the actual waiting time, this page totaled 320 ms with 12kb and this is stackoverflow! Not a huge difference.

Optimizing your database and making sure your extensions are efficient is the best way to lower it without going into your actual server settings.

  • We use mostly backend extensions, but for the front end, we're using JotCache, ArticlesAnywhere, and a google analytics plugin. We've found that Articles Anywhere can be slow and are in the process of removing it. Some pages take longer than others, but its always a long wait followed by short receive. I'm running Joomla 3.2.2 and in the process of upgrading PHP so that we can upgrade Joomla. The server is taking some load, at most 500 users balanced between two servers, usually its more like 50-100 though. – ContextSwitch Aug 21 '14 at 1:44
1

As Jordan said, improving your server speed is likely the best way to go here.

There are quite a number of optimizations you can do to improve your waiting time. Here are some of the server side optimizations.

  • Use an OpCode cache.
  • Try using NginX instead of Apache.
  • Add an Expires or a Cache-Control Header to your content.
  • Use a server side caching mechanism such as Redis(*See NOTE) or memcached. These are not the same as an OpCode cache (I recommend you use both).
  • Use server side caching for your session handler(instead of Database or File).
  • Upgrade your hardware or move to a better server (use a private dedicated server instead of a shared server).
  • Use something like Google's Page Speed Tool to see what other optimizations are relevant for you.

NOTE: As far as I am aware, Redis cannot be used with Joomla versions < 3.4.

On the Joomla side of things you can

  • As you mentioned, use a caching extension like JotCache. If you have server side caching then you can probably ignore this one.
  • Use a CDN such as CDN for Joomla to increase the number of concurrent downloads and to bring the download closer to the end user.

There is a slight chance that the page load time might be having an adverse effect on your waiting time, so

  • Optimize your website by combining and minifying CSS and JS with extensions such as ScriptMerge, JCH-Optimize or Jbetelo
  • Make sure that no javascript files are blocking page load.
  • Reduce page loading time by using sprites.
  • The initial document is what is in question here, so I personally doubt a CDN or some sort of caching system will help much with that (unless its php/memory cache). Cache is great if the page is loading initially fine but lagging to display the page. – Jordan Ramstad Aug 21 '14 at 16:20
  • @JordanRamstad You are probably correct regarding the CDN, I had assumed the initial response time included the time it took for the request to be sent from the browser to the server serving the document. – TryHarder Aug 22 '14 at 1:29
  • Regarding the cache, if ContextSwitch isn't using it already, OpCode Caching is the easiest and single most effective way to increase their initial response time. PHP has to be translated to machine code before the server can respond to it. OpCode Cache stores that translated machine code in memory, skipping the need to translate the code. – TryHarder Aug 22 '14 at 1:29
0

Shared hosting package? Move your site to a better one.

Shared hosts must allocate server resources to the request of all sites on the server, the more accounts on the server, the longer the response time of each site. You can cache an optimise, and you should, but when there's 200 other user accounts all with multiple sites on the same physical server as yours that isn't going to make the world of difference. A better specced host will make a huge difference.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.