Solved

Slow Web Page Loading

Posted on 2010-11-18
17
507 Views
Last Modified: 2012-08-14
Hello

I have a website that is on a fast dedicated server with only a few other websites. It has quite good traffic (500 visitors per day) but I think it loads slow and I am not sure why - it is not that big, does not have loads of images or javascript and like I said is on a fast server. I used http://www.iwebtool.com/speed_test to test it and some of my competitors - in the field of size mine was not the smallest but was in the bottom half but what is worrying me is the "Average Speed per KB" - all the other websites are 0.02-0.03 seconds but mine is 0.1 resulting in 5.74 seconds loading time.

I think this is strange so what I want to know is what is wrong? Could it be the programming requesting too many things? Is the server not configured correctly? Or is it the external files are too larger and they are not included in the "Size" column?

Please could you give me some advice?

The website is sexshop123.co.uk

Thanks
Adam
0
Comment
Question by:awassall
  • 6
  • 5
  • 2
  • +2
17 Comments
 
LVL 6

Expert Comment

by:Codebot
Comment Utility
0
 

Author Comment

by:awassall
Comment Utility
OK thanks but what I relay want to know it why is the Average Speed per KB actually means  - is this just because there are too many images/script or is it a different problem.
0
 
LVL 25

Assisted Solution

by:madunix
madunix earned 50 total points
Comment Utility
It depends, no single approach for this issue, but you could try to investigate the following. Check the Server performance. Look in /var/log any suspicious. The vmstat/top tool is a good choice for memory check, providing details of the current memory usage and possible bottlenecks, the values greater in the si and so columns should not normally contain values greater than 0 everything else indicates more swapping then you will need to invest more RAM.

Do you see any errors in your Apache error logs see if there is overloading e.g. Max Clients? Check mysql config it could memory setting bigger than your actual RAM.  You could install fiddler http://www.fiddler2.com/fiddler2/ or wireshark http://www.wireshark.org/ on the client to debug the traffic between you and the server. Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP(S) traffic, set breakpoints, and "fiddle" with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language.
0
 
LVL 6

Assisted Solution

by:Codebot
Codebot earned 50 total points
Comment Utility
yes your site has more images then also most of images are not specific height and widths
don't use width="" height="" with image where possible
Also remove blank spaces and use follow instrunctions of above link
0
 
LVL 108

Expert Comment

by:Ray Paseur
Comment Utility
I got a 20-second load, timed with ySlow.  Interesting animated favicon!

Here is the YSlow output.

Grade
      
C
      Overall performance score 73      Ruleset applied: YSlow(V2)      URL: http://www.sexshop123.co.uk/

    * ALL (23)
    * FILTER BY:
    * CONTENT (6)
    * COOKIE (2)
    * CSS (6)
    * IMAGES (2)
    * JAVASCRIPT (4)
    * SERVER (6)

    *
      EMake fewer HTTP requests
    *
      FUse a Content Delivery Network (CDN)
    *
      AAvoid empty src or href
    *
      FAdd Expires headers
    *
      FCompress components with gzip
    *
      APut CSS at top
    *
      CPut JavaScript at bottom
    *
      AAvoid CSS expressions
    *
      n/aMake JavaScript and CSS external
    *
      AReduce DNS lookups
    *
      AMinify JavaScript and CSS
    *
      AAvoid URL redirects
    *
      ARemove duplicate JavaScript and CSS
    *
      FConfigure entity tags (ETags)
    *
      AMake AJAX cacheable
    *
      AUse GET for AJAX requests
    *
      AReduce the number of DOM elements
    *
      AAvoid HTTP 404 (Not Found) error
    *
      AReduce cookie size
    *
      AUse cookie-free domains
    *
      AAvoid AlphaImageLoader filter
    *
      ADo not scale images in HTML
    *
      AMake favicon small and cacheable

Grade E on Make fewer HTTP requests

This page has 10 external Javascript scripts. Try combining them into one.
This page has 11 external background images. Try combining them with CSS sprites.

Decreasing the number of components on a page reduces the number of HTTP requests required to render the page, resulting in faster page loads. Some ways to reduce the number of components include: combine files, combine multiple scripts into one script, combine multiple CSS files into one style sheet, and use CSS Sprites and image maps.

»Read More
Grade F on Use a Content Delivery Network (CDN)

There are 87 static components that are not on CDN.

You can specify CDN hostnames in your preferences. See YSlow FAQ for details.

    * http://www.sexshop123.co.uk/includes/sts_templates/full/css/styles.css
    * http://www.sexshop123.co.uk/js/jquery-1.4.2.min.js
    * http://www.sexshop123.co.uk/js/jquery.form.js
    * http://www.sexshop123.co.uk/js/ajax_sc_2.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/jquery-easing-1.3.pack.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/jquery-easing-compatibility.1.2.pack.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/coda-slider.1.1.1.pack.js
    * http://smarticon.geotrust.com/si.js
    * http://affiliates.sexshop123.co.uk/scripts/clickjs.php
    * http://affiliates.sexshop123.co.uk/scripts/click.php?...
    * http://www.google-analytics.com/ga.js
    * http://affiliates.sexshop123.co.uk/scripts/pap.swf?...
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/logobot.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/menubg.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/icon-uparrowsmallwhite.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/bull.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/purplem.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/pinkm.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/pinkm2.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/purplem2.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/Newtop.jpg
    * http://www.sexshop123.co.uk/images/special_price.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/specialstop.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/logo.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/delivery.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/tel.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/paypal.jpg
    * http://smarticon.geotrust.com/smarticon?...
    * http://www.sexshop123.co.uk/includes/sts_templates/full/sexbag.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/index1_01.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/lingarai.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/sextoysforwomen.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/anal.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/flesshlight.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/bondage.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/lingerai.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/women.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/anal.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/men.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/bondage.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/index1_03.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/index1_04.jpg
    * http://www.sexshop123.co.uk/images/spacer.gif
    * http://www.sexshop123.co.uk/images/bondage1.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/twitter.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/youtube.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/sexadvice.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/competition.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/refer.jpg
    * http://www.sexshop123.co.uk/images/lelo1.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/mcafee.png
    * http://www.sexshop123.co.uk/safebuy.jpg
    * http://www.sexshop123.co.uk/norton.gif
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/images/clone-small1.png
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/boxbot.gif
    * http://www.sexshop123.co.uk/images/icons/rss_icon.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/a.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/b.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/c.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/e.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/f.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/g.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/d.jpg
    * http://www.sexshop123.co.uk/includes/languages/english/images/buttons/button_continue_shopping_popup.gif
    * http://www.sexshop123.co.uk/includes/languages/english/images/buttons/button_checkout_popup.gif
    * http://www.sexshop123.co.uk/images/loading_cart.gif
    * http://www.sexshop123.co.uk/images/ok.gif


User proximity to web servers impacts response times. Deploying content across multiple geographically dispersed servers helps users perceive that pages are loading faster.

»Read More
Grade A on Avoid empty src or href


You may expect a browser to do nothing when it encounters an empty image src. However, it is not the case in most browsers. IE makes a request to the directory in which the page is located; Safari, Chrome, Firefox 3 and earlier make a request to the actual page itself. This behavior could possibly corrupt user data, waste server computing cycles generating a page that will never be viewed, and in the worst case, cripple your servers by sending a large amount of unexpected traffic.

»Read More
Grade F on Add Expires headers

There are 87 static components without a far-future expiration date.

    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/css/styles.css
    * (no expires) http://www.sexshop123.co.uk/js/jquery-1.4.2.min.js
    * (no expires) http://www.sexshop123.co.uk/js/jquery.form.js
    * (no expires) http://www.sexshop123.co.uk/js/ajax_sc_2.js
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/js/jquery-easing-1.3.pack.js
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/js/jquery-easing-compatibility.1.2.pack.js
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/js/coda-slider.1.1.1.pack.js
    * (2010/11/19) http://smarticon.geotrust.com/si.js
    * (1981/11/19) http://affiliates.sexshop123.co.uk/scripts/clickjs.php
    * (1981/11/19) http://affiliates.sexshop123.co.uk/scripts/click.php?...
    * (2010/11/18) http://www.google-analytics.com/ga.js
    * (no expires) http://affiliates.sexshop123.co.uk/scripts/pap.swf?...
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/logobot.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/menubg.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/icon-uparrowsmallwhite.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/bull.gif
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/purplem.gif
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/pinkm.gif
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/pinkm2.gif
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/purplem2.gif
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/Newtop.jpg
    * (no expires) http://www.sexshop123.co.uk/images/special_price.gif
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/specialstop.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/logo.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/delivery.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/tel.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/paypal.jpg
    * (2010/11/18) http://smarticon.geotrust.com/smarticon?...
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/sexbag.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/index1_01.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/lingarai.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/sextoysforwomen.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/anal.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/flesshlight.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/bondage.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/lingerai.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/women.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/anal.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/men.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/bondage.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/index1_03.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/index1_04.jpg
    * (1981/11/19) http://www.sexshop123.co.uk/images/spacer.gif
    * (no expires) http://www.sexshop123.co.uk/images/bondage1.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/twitter.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/youtube.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/sexadvice.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/competition.png
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/refer.jpg
    * (no expires) http://www.sexshop123.co.uk/images/lelo1.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/mcafee.png
    * (no expires) http://www.sexshop123.co.uk/safebuy.jpg
    * (no expires) http://www.sexshop123.co.uk/norton.gif
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/images/clone-small1.png
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/imagemagic.php?...
    * (no expires) http://www.sexshop123.co.uk/boxbot.gif
    * (no expires) http://www.sexshop123.co.uk/images/icons/rss_icon.gif
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/a.gif
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/b.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/c.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/e.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/f.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/g.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/sts_templates/full/images/d.jpg
    * (no expires) http://www.sexshop123.co.uk/includes/languages/english/images/buttons/button_continue_shopping_popup.gif
    * (no expires) http://www.sexshop123.co.uk/includes/languages/english/images/buttons/button_checkout_popup.gif
    * (no expires) http://www.sexshop123.co.uk/images/loading_cart.gif
    * (no expires) http://www.sexshop123.co.uk/images/ok.gif


Web pages are becoming increasingly complex with more scripts, style sheets, images, and Flash on them. A first-time visit to a page may require several HTTP requests to load all the components. By using Expires headers these components become cacheable, which avoids unnecessary HTTP requests on subsequent page views. Expires headers are most often associated with images, but they can and should be used on all page components including scripts, style sheets, and Flash.

»Read More
Grade F on Compress components with gzip

There are 9 plain text components that should be sent compressed

    * http://www.sexshop123.co.uk/includes/sts_templates/full/css/styles.css
    * http://www.sexshop123.co.uk/js/jquery-1.4.2.min.js
    * http://www.sexshop123.co.uk/js/jquery.form.js
    * http://www.sexshop123.co.uk/js/ajax_sc_2.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/jquery-easing-1.3.pack.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/jquery-easing-compatibility.1.2.pack.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/coda-slider.1.1.1.pack.js
    * http://smarticon.geotrust.com/si.js
    * http://affiliates.sexshop123.co.uk/scripts/clickjs.php


Compression reduces response times by reducing the size of the HTTP response. Gzip is the most popular and effective compression method currently available and generally reduces the response size by about 70%. Approximately 90% of today's Internet traffic travels through browsers that claim to support gzip.

»Read More
Grade A on Put CSS at top


Moving style sheets to the document HEAD element helps pages appear to load quicker since this allows pages to render progressively.

»Read More
Grade C on Put JavaScript at bottom

There are 6 JavaScript scripts found in the head of the document

    * http://www.sexshop123.co.uk/js/jquery-1.4.2.min.js
    * http://www.sexshop123.co.uk/js/jquery.form.js
    * http://www.sexshop123.co.uk/js/ajax_sc_2.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/jquery-easing-1.3.pack.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/jquery-easing-compatibility.1.2.pack.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/coda-slider.1.1.1.pack.js


JavaScript scripts block parallel downloads; that is, when a script is downloading, the browser will not start any other downloads. To help the page load faster, move scripts to the bottom of the page if they are deferrable.

»Read More
Grade A on Avoid CSS expressions


CSS expressions (supported in IE beginning with Version 5) are a powerful, and dangerous, way to dynamically set CSS properties. These expressions are evaluated frequently: when the page is rendered and resized, when the page is scrolled, and even when the user moves the mouse over the page. These frequent evaluations degrade the user experience.

»Read More
Grade n/a on Make JavaScript and CSS external

Only consider this if your property is a common user home page.

    * There are a total of 18 inline scripts


Using external JavaScript and CSS files generally produces faster pages because the files are cached by the browser. JavaScript and CSS that are inlined in HTML documents get downloaded each time the HTML document is requested. This reduces the number of HTTP requests but increases the HTML document size. On the other hand, if the JavaScript and CSS are in external files cached by the browser, the HTML document size is reduced without increasing the number of HTTP requests.

»Read More
Grade A on Reduce DNS lookups


The Domain Name System (DNS) maps hostnames to IP addresses, just like phonebooks map people's names to their phone numbers. When you type URL www.yahoo.com into the browser, the browser contacts a DNS resolver that returns the server's IP address. DNS has a cost; typically it takes 20 to 120 milliseconds for it to look up the IP address for a hostname. The browser cannot download anything from the host until the lookup completes.

»Read More
Grade A on Minify JavaScript and CSS

There is 1 component that can be minified

    * http://www.sexshop123.co.uk/js/jquery.form.js


Minification removes unnecessary characters from a file to reduce its size, thereby improving load times. When a file is minified, comments and unneeded white space characters (space, newline, and tab) are removed. This improves response time since the size of the download files is reduced.

»Read More
Grade A on Avoid URL redirects


URL redirects are made using HTTP status codes 301 and 302. They tell the browser to go to another location. Inserting a redirect between the user and the final HTML document delays everything on the page since nothing on the page can be rendered and no components can be downloaded until the HTML document arrives.

»Read More
Grade A on Remove duplicate JavaScript and CSS


Duplicate JavaScript and CSS files hurt performance by creating unnecessary HTTP requests (IE only) and wasted JavaScript execution (IE and Firefox). In IE, if an external script is included twice and is not cacheable, it generates two HTTP requests during page loading. Even if the script is cacheable, extra HTTP requests occur when the user reloads the page. In both IE and Firefox, duplicate JavaScript scripts cause wasted time evaluating the same scripts more than once. This redundant script execution happens regardless of whether the script is cacheable.

»Read More
Grade F on Configure entity tags (ETags)

There are 81 components with misconfigured ETags

    * http://www.sexshop123.co.uk/includes/sts_templates/full/css/styles.css
    * http://www.sexshop123.co.uk/js/jquery-1.4.2.min.js
    * http://www.sexshop123.co.uk/js/jquery.form.js
    * http://www.sexshop123.co.uk/js/ajax_sc_2.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/jquery-easing-1.3.pack.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/jquery-easing-compatibility.1.2.pack.js
    * http://www.sexshop123.co.uk/includes/sts_templates/full/js/coda-slider.1.1.1.pack.js
    * http://affiliates.sexshop123.co.uk/scripts/pap.swf?...
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/logobot.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/menubg.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/icon-uparrowsmallwhite.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/bull.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/purplem.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/pinkm.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/pinkm2.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/purplem2.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/Newtop.jpg
    * http://www.sexshop123.co.uk/images/special_price.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/specialstop.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/logo.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/delivery.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/tel.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/paypal.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/sexbag.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/index1_01.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/lingarai.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/sextoysforwomen.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/anal.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/flesshlight.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/bondage.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/lingerai.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/women.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/anal.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/men.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/bondage.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/index1_03.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/index1_04.jpg
    * http://www.sexshop123.co.uk/images/bondage1.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/twitter.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/youtube.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/sexadvice.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/competition.png
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/refer.jpg
    * http://www.sexshop123.co.uk/images/lelo1.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/mcafee.png
    * http://www.sexshop123.co.uk/safebuy.jpg
    * http://www.sexshop123.co.uk/norton.gif
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/images/clone-small1.png
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/imagemagic.php?...
    * http://www.sexshop123.co.uk/boxbot.gif
    * http://www.sexshop123.co.uk/images/icons/rss_icon.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/a.gif
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/b.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/c.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/e.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/f.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/g.jpg
    * http://www.sexshop123.co.uk/includes/sts_templates/full/images/d.jpg
    * http://www.sexshop123.co.uk/includes/languages/english/images/buttons/button_continue_shopping_popup.gif
    * http://www.sexshop123.co.uk/includes/languages/english/images/buttons/button_checkout_popup.gif
    * http://www.sexshop123.co.uk/images/loading_cart.gif
    * http://www.sexshop123.co.uk/images/ok.gif


Entity tags (ETags) are a mechanism web servers and the browser use to determine whether a component in the browser's cache matches one on the origin server. Since ETags are typically constructed using attributes that make them unique to a specific server hosting a site, the tags will not match when a browser gets the original component from one server and later tries to validate that component on a different server.

»Read More
Grade A on Make AJAX cacheable


One of AJAX's benefits is it provides instantaneous feedback to the user because it requests information asynchronously from the backend web server. However, using AJAX does not guarantee the user will not wait for the asynchronous JavaScript and XML responses to return. Optimizing AJAX responses is important to improve performance, and making the responses cacheable is the best way to optimize them.

»Read More
Grade A on Use GET for AJAX requests


When using the XMLHttpRequest object, the browser implements POST in two steps: (1) send the headers, and (2) send the data. It is better to use GET instead of POST since GET sends the headers and the data together (unless there are many cookies). IE's maximum URL length is 2 KB, so if you are sending more than this amount of data you may not be able to use GET.

»Read More
Grade A on Reduce the number of DOM elements


A complex page means more bytes to download, and it also means slower DOM access in JavaScript. Reduce the number of DOM elements on the page to improve performance.

»Read More
Grade A on Avoid HTTP 404 (Not Found) error


Making an HTTP request and receiving a 404 (Not Found) error is expensive and degrades the user experience. Some sites have helpful 404 messages (for example, "Did you mean ...?"), which may assist the user, but server resources are still wasted.

»Read More
Grade A on Reduce cookie size


HTTP cookies are used for authentication, personalization, and other purposes. Cookie information is exchanged in the HTTP headers between web servers and the browser, so keeping the cookie size small minimizes the impact on response time.

»Read More
Grade A on Use cookie-free domains


When the browser requests a static image and sends cookies with the request, the server ignores the cookies. These cookies are unnecessary network traffic. To workaround this problem, make sure that static components are requested with cookie-free requests by creating a subdomain and hosting them there.

»Read More
Grade A on Avoid AlphaImageLoader filter


The IE-proprietary AlphaImageLoader filter attempts to fix a problem with semi-transparent true color PNG files in IE versions less than Version 7. However, this filter blocks rendering and freezes the browser while the image is being downloaded. Additionally, it increases memory consumption. The problem is further multiplied because it is applied per element, not per image.

»Read More
Grade A on Do not scale images in HTML


Web page designers sometimes set image dimensions by using the width and height attributes of the HTML image element. Avoid doing this since it can result in images being larger than needed. For example, if your page requires image myimg.jpg which has dimensions 240x720 but displays it with dimensions 120x360 using the width and height attributes, then the browser will download an image that is larger than necessary.

»Read More
Grade A on Make favicon small and cacheable


A favicon is an icon associated with a web page; this icon resides in the favicon.ico file in the server's root. Since the browser requests this file, it needs to be present; if it is missing, the browser returns a 404 error (see "Avoid HTTP 404 (Not Found) error" above). Since favicon.ico resides in the server's root, each time the browser requests this file, the cookies for the server's root are sent. Making the favicon small and reducing the cookie size for the server's root cookies improves performance for retrieving the favicon. Making favicon.ico cacheable avoids frequent requests for it.

»Read More
Copyright © 2010 Yahoo! Inc. All rights reserved.
0
 
LVL 34

Assisted Solution

by:gr8gonzo
gr8gonzo earned 100 total points
Comment Utility
Average speed per KB generally means the actual transfer speed on the network level. It may not have anything to do with how your web site is coded or how many images you have or what they're like.

In fact, it may just be a matter of distance between the testing tool and the server where your web site is stored, which looks like it is in the UK. The other web sites may be geographically closer to the web site testing tool, which may result in less network hops and faster speed.

For example, I have a fast connection, and so does one of the support centers for ASUS in China, but the transfer speed between me and that data center is awful. Sometimes testing results aren't everything.

If you feel like your website loads slowly and you are in the UK with the website, then it may not be the transfer speed (the average KB per second). It may end up being something else. I'd recommend installing Firefox and then the Firebug and YSlow extensions. Google for instructions on how to use those tools or check out this webcast:

http://elijahmanor.com/webdevdotnet/post/Google-Page-Speed-Yahoo-YSlow-Firebug-Extensions-to-Increase-Web-Page-Performance.aspx

Those extensions can definitely help in making recommendations on how to speed up your page.
0
 
LVL 25

Expert Comment

by:madunix
Comment Utility
As I said Slow web-page loading is a tough problem to solve, and as said by Ray_Paseur is to load up Firebug (free plug-in for Firefox), and to use the YSlow (free plug in for Firebug) plug in that analyzes your pages to see where you can get some basic improvements. You need to analyze the way in which pages are created and served, and then how they get from the server to the browser. YSlow will do a great job of checking the latter. For the former, you'll need to use some server-side analysis and profiling tools.
0
 
LVL 108

Expert Comment

by:Ray Paseur
Comment Utility
@madunix: "some server-side analysis" - great suggestion.  

This is kind of prosaic, but it is a design pattern that may be helpful.  You do not have to echo the results -- you might capture a buffer and email the results to yourself.
<?php // RAY_script_timer.php

error_reporting(E_ALL);





// DEMONSTRATE HOW TO TIME THE EXECUTION OF A PART OF A SCRIPT PHP 5+

// MAN PAGE http://us.php.net/manual/en/function.microtime.php







// STORE THE START TIME

$alpha_time = microtime(TRUE);







// PERFORM SOME ACTIVITY THAT YOU WANT TO TIME

$page = 'http://google.com';

$html = file_get_contents($page);







// STORE THE COMPLETION TIME

$omega_time = microtime(TRUE);









// COMPUTE THE ELAPSED TIME AT A MEANINGFUL LEVEL

$lapse_time = $omega_time - $alpha_time;

$lapse_msec = $lapse_time * 1000.0;

$lapse_echo = number_format($lapse_msec, 1);



// SHOW A DESCRIPTION OF THE WORK AND THE TIME REQUIRED

echo "SCRIPT READ $page IN $lapse_echo MILLISECONDS";

Open in new window

0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 108

Assisted Solution

by:Ray Paseur
Ray Paseur earned 75 total points
Comment Utility
A slightly more sophisticated version.
<?php // RAY_oop_stopwatch.php

error_reporting(E_ALL);





// DEMONSTRATE HOW TO TIME THE EXECUTION OF A PART OF A SCRIPT PHP 5+

// MAN PAGE http://us.php.net/manual/en/function.microtime.php





class StopWatch

{

    protected $a, $z;

    public function __construct()

    {

        $this->a = array();

        $this->z = array();

    }



    public function start($name='TIMER')

    {

        $this->a[$name] = microtime(TRUE);

    }



    public function stop($name='ALL')

    {

        if ($name == 'ALL')

        {

            foreach ($this->a as $name => $start_time)

            {

                if (!isset($this->z[$name])) $this->z[$name] = microtime(TRUE);

            }

        }

        else

        {

            $this->z[$name] = microtime(TRUE);

        }

    }



    public function readout($m=1000, $eol=PHP_EOL)

    {

        $str = NULL;

        foreach ($this->a as $name => $start_time)

        {

            $str .= $name;

            if (!isset($this->z[$name]))

            {

                $str .= " IS STILL RUNNING";

            }

            else

            {

                $lapse_time = $this->z[$name] - $start_time;

				$lapse_msec = $lapse_time * $m;

				$lapse_echo = number_format($lapse_msec, 1);

				$str .= " $lapse_echo";

            }

            $str .= $eol;

        }

        return $str;

    }

}





// INSTANTIATE THE STOPWATCH OBJECT

$sw  = new Stopwatch;



// SET STOPWATCH NAMES

$go = 'GOOGLE ONLY';

$gy = 'GOOGLE AND YAHOO!';

$yo = 'YAHOO! ONLY';



// START SOME TIMERS

$sw->start($go);

$sw->start($gy);



// PERFORM SOME ACTIVITY THAT YOU WANT TO TIME

$page = 'http://google.com';

$html = file_get_contents($page);



// STOP ONE OF THE STOPWATCHES AND START THE OTHER

$sw->stop($go);

$sw->start($yo);



// PERFORM SOME OTHER ACTIVITY THAT YOU WANT TO TIME

$page = 'http://yahoo.com';

$html = file_get_contents($page);



// REPORT THE STOPWATCHES CONTENT (TWO WILL BE INCOMPLETE)

echo nl2br($sw->readout());



// STOP ALL OF THE REMAINING STOPWATCHES

$sw->stop();



// REPORT THE STOPWATCHES CONTENT AGAIN

echo nl2br($sw->readout());

Open in new window

0
 

Author Comment

by:awassall
Comment Utility
Hello

Thanks for the the great advice - it seams like you are telling me that it could be any number of reasons and I need to do some more work to test it all.

TO Ray_Paseur
I ran your second script and got these results
"GOOGLE ONLY 641.9
GOOGLE AND YAHOO! IS STILL RUNNING
YAHOO! ONLY IS STILL RUNNING
GOOGLE ONLY 641.9
GOOGLE AND YAHOO! 8,899.5
YAHOO! ONLY 8,257.6"
I am relay not sure what this means, I guess it is testing server speeds to see if that is the problem but dont know if these results are good or bad.

Thanks
Adam
0
 
LVL 108

Expert Comment

by:Ray Paseur
Comment Utility
Good and bad are relative.  It's telling you, in milliseconds, how long it took to execute a set of instructions.  I have a fast computer and high-speed internet connection.  Here are my results:

GOOGLE ONLY 129.9
GOOGLE AND YAHOO! IS STILL RUNNING
YAHOO! ONLY IS STILL RUNNING
GOOGLE ONLY 129.9
GOOGLE AND YAHOO! 813.5
YAHOO! ONLY 683.5

The purpose of the OOP_Stopwatch script is to illustrate a design pattern that you can use to time the execution of portions of your scripts.  So if you want to set "breakpoints" for start and stop timing, you can use the class in your own scripts.

HTH, ~Ray
0
 

Author Comment

by:awassall
Comment Utility
OK then - the server is suppose to be very fast and only have a limited number of websites (I think there are a total of 700 visitors per day on all the websites) on it and it takes 5-10 times as long as yours. So the server is pretty slow. I tested it with Google and Yahoo UK and got better results but still 4-5 times slower than yours.

Sorry to keep asking question but my knowledge on servers is not the best. What could the problem be? It is the connection where the server is or the software or another problem?

Thanks
Adam
0
 

Author Comment

by:awassall
Comment Utility
Ok I have just tested that script on a website I have on shared hosting and got these results on the non UK and much faster on the UK ones.
GOOGLE ONLY 120.6
GOOGLE AND YAHOO! IS STILL RUNNING
YAHOO! ONLY IS STILL RUNNING
GOOGLE ONLY 120.6
GOOGLE AND YAHOO! 1,421.8
YAHOO! ONLY 1,301.2

Does this mean that the dedicated server I have with this company is much slower than the shared hosting?

Thanks
Adam
0
 
LVL 108

Expert Comment

by:Ray Paseur
Comment Utility
Please read over the PHP code and comments carefully - what you're testing includes a page load from external data sources.  The page load speed will be determined by a lot of factors, probably the least of which is the speed of your server.  More likely it will be determined by the speed of the internet connections.  

The script is a teaching example that shows how to isolate parts of a PHP script and record the speed of those isolated parts.  It is not intended to test the speed of your server, nor is it intended to be used "as is" since testing the speed of Google and Yahoo is not really applicable to speeding up your server.

In the original question, you wrote, "...I think it loads slow and I am not sure why."  This script timer is one tool, as is YSlow.  Reasonable application of these tools can help you make the site load faster.  If you do not understand how to apply these tools, consider hiring a professional developer to help you.  It's not rocket science, but there are a lot of places to look and things to measure.

Best of luck with the project, ~Ray
0
 
LVL 34

Assisted Solution

by:gr8gonzo
gr8gonzo earned 100 total points
Comment Utility
One last comment from me - you mentioned that this is a dedicated server, and it sounds like you may be involved in the management of it. If you're truly getting only 700 visitors a day or so, I would recommend checking to see if your hosting company has any sort of bandwidth meters, or if you can implement one on the server itself so you can make sure the bandwidth usage isn't much greater than you expect it to be.

The reason I say this is because one common problem I've seen with dedicated servers is administrators who assume they are safe from an attack or will never be the focus of one, and they don't implement the proper security measure as a result. Sometimes even if the proper measures are taken initially, an administrator might not keep things patched over time, and old flaws will create a wide open path into your server.

Most hacking attempts nowadays aren't about defacing the existing site. My servers are constantly under random attacks, and many of those are of no real great importance - no special CIA databases or anything - they just exist. I've had 3 break-ins over the past 5 years (one was my fault, the other two were due to clients not updating their patches), and all three resulted in the hacker setting up a new site for downloadiing things. Usually porn or foreign moves or illegal software. Since they don't deface or destroy anything, sometimes it takes a while to notice if you're not closely checking your bandwidth or disk space (sometimes things are run in a mode that makes it difficult to actually find the files - you have to look for symptoms). They're simply using your resources, and if you happened to have been hacked and had a download site set up, your available bandwidth might be getting stolen, resulting in a slow site.

I know it's a pretty far-fetched idea, but it's worth it to check and to make sure you have the proper security set up (auto-banning IPs for bad logins, a firewall of some kind, changing passwords at least once every 90 days, enforcing password complexity, policies to keep your security patches up to date, policies to routinely check your server's health, etc...) Dedicated server hosting means nobody's going to do this for you anymore, and you're an easy target if you don't do it.
0
 

Accepted Solution

by:
awassall earned 0 total points
Comment Utility
OK - the problem has been solved

It was to do with the server - The network adaptor was set to half duplex, this was causing "collisions" within the network traffic reducing in packet loss.

I have tested the load speeds and they are now along the same lines as other websites - I have also tested the script from Ray_Paseur after the fix and got the results

GOOGLE ONLY 182.1
GOOGLE AND YAHOO! 987.0
YAHOO! ONLY 804.9

I thank you all very much for your advice but I dont think it helped that much. What I wanted to know is what problems could be with the server. I will award some point to people who have tried to help.

Thanks
0
 

Author Closing Comment

by:awassall
Comment Utility
Did not really answer questions on server problems but instead most insisted on standard problems such as image sizes and reducing script sizes.
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Building a website can seem like a daunting task to the uninitiated but it really only requires knowledge of two basic languages: HTML and CSS.
Not sure what the best email signature size is? Are you worried about email signature image size? Follow this best practice guide.
In this tutorial viewers will learn how to style elements, such a divs, with a "drop shadow" effect using the CSS box-shadow property Start with a normal styled element, such as a div.: In the element's style, type the box shadow property: "box-shad…
In this tutorial viewers will learn how to style a corner ribbon overlay for an image using CSS Create a new class by typing ".Ribbon":  Define the class' "display:" as "inline-block": Define its "position:" as "relative": Define its "overflow:" as …

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now