{"id":905,"date":"2010-05-18T16:00:10","date_gmt":"2010-05-18T20:00:10","guid":{"rendered":"http:\/\/www.webperformanceinc.com\/load_testing\/blog\/?p=905"},"modified":"2010-05-18T16:19:09","modified_gmt":"2010-05-18T20:19:09","slug":"what-is-web-bandwidth-and-how-do-you-test-it","status":"publish","type":"post","link":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/2010\/05\/what-is-web-bandwidth-and-how-do-you-test-it\/","title":{"rendered":"What is &#8220;Web Bandwidth&#8221; and how do you test it?"},"content":{"rendered":"<p>When diagnosing performance problems with our clients websites, it is not uncommon for the bandwidth to come into question. Very often, the bandwidth chart will show a distinct plateau and it can be difficult to determine if this is cause or effect. This example shows outgoing server bandwidth (green) as the users (blue) ramp up. It <em>could<\/em> be interpreted as a bandwidth limitation around 8Mbps. In this case it is not &#8211; the limitation is elsewhere in the system.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.webperformance.com\/images\/blog\/BandwidthPlateau.png\" alt=\"bandwidth chart\" width=\"580\" height=\"318\"\/><\/p>\n<p>It can be challenging to prove that bandwidth is the problem. If the bandwidth is not reaching the known limits (i.e. what the hosting provider has promised), the process generally involves a lot of theorizing, hand-waving, finger pointing and meetings with various vendors and support technicians. The net result is frequently a lot of wasted effort without proving anything. We choose a different approach: it is much easier to prove that bandwidth is NOT the problem &#8211; by testing beyond the limit in question. In the above example, if we can run a test showing sustained bandwidth well above 8 Mbps, then we can rule out bandwidth and move on to investigating other possibilities.<\/p>\n<p>There are many tools and techniques for testing bandwidth and most of them are indispensable for answering certain questions. Some of them are as simple as downloading a large file and calculating the net speed. Others use specialized software to take detailed measurements. Network administrators often have tools at hand for testing raw link speed. But none of these test under the same conditions as a fully-loaded website. <\/p>\n<p>We like to measure what we call <em>Web Bandwidth<\/em>. Web Bandwidth is the effective throughput at the HTTP layer for a representative number of concurrent network connections and transactions. It includes the full path that the HTTP traffic will take when real browsers are hitting the web  server &#8211; this includes firewalls, load balancers, etc. It does NOT include the application layer &#8211; the application logic, database, etc.<\/p>\n<p>What factors are important when measuring web bandwidth?<\/p>\n<ul>\n<li>Use HTTP transactions<\/li>\n<li>Use non-SSL URLs. Move on to SSL after non-SSL baseline is established.<\/li>\n<li>Choose URLs returning static content &#8211; you want to test the path to\/from the web server, but not the rest of the application.<\/li>\n<li>Ensure the URLs are served on persistent connections. If it is not, you will be measuring latency as much as bandwidth.<\/li>\n<li>Use relatively URLs that return relatively large content (otherwise you will be measuring the trip transaction latency)<\/li>\n<li>Start with URLs that are not compressible. Use compressible content only after establishing a baseline with non-compressed content.<\/li>\n<li>Use a level of connection concurrency (i.e. number of simultaneous connections) similar to the expected load<\/li>\n<\/ul>\n<p>As you may have guessed, a load testing software is an excellent tool for measuring web bandwidth. The upcoming Load Tester 4.1 release includes a new feature to make this even easier. The Bandwidth Test wizard asks you a few simple questions and instantly builds a testcase optimized for testing your web bandwidth &#8212; automatically taking into account most of the factors listed above. Combine that with our cloud-based load engines and you can effortlessly and reliably measure the web bandwidth of your site and confirm (or deny) that bandwidth is limiting the performance.<\/p>\n<p>Chris, Chief Engineer<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When diagnosing performance problems with our clients websites, it is not uncommon for the bandwidth to come into question. Very often, the bandwidth chart will show a distinct plateau and it can be difficult to determine if this is cause or effect. This example shows outgoing server bandwidth (green) as the users (blue) ramp up. It could be interpreted as a bandwidth limitation around 8Mbps. In this case it is not &#8211; the limitation is elsewhere in the system.<\/p>\n<p>It can be challenging to prove that bandwidth is the problem. If the bandwidth is not reaching the known limits (i.e. what &hellip; <a href=\"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/2010\/05\/what-is-web-bandwidth-and-how-do-you-test-it\/\">Continue reading &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[75,237,18],"class_list":["post-905","post","type-post","status-publish","format-standard","hentry","category-load-testing","tag-bandwidth","tag-load-testing","tag-web-performance"],"_links":{"self":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts\/905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/comments?post=905"}],"version-history":[{"count":14,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts\/905\/revisions"}],"predecessor-version":[{"id":930,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts\/905\/revisions\/930"}],"wp:attachment":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/media?parent=905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/categories?post=905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/tags?post=905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}