Measuring Performance


You can measure performance in response time and throughput. Response time is the round-trip time of a single request. This is the period from the initiation of the request in the browser to the web server, through the ColdFusion Server to the backend systems, back to the web server, and to the final page rendering in the browser. Various factors adversely affect ColdFusion application response times:

  • Poor application logic

  • Bad database design

  • Server configuration issues

  • ColdFusion Administrator settings

  • Network environment

Throughput is the number of transactions (requests) a server processes within a specific period of time. The units used to measure a server's throughput are as follows: the number of requests (Hypertext Transfer Protocol [HTTP] hits), the numbers of kilobytes (KB), and the number of transactions. The number of requests is the most commonly used measurement.

A site or application's ability to deliver content (data and graphics) as traffic or user load increases is called its scalability. A site's performance tends to degrade as page requests increase. However, response times of truly scalable sites increase proportionately with increasing user load. Achieving such scalability is your challenge in the successful deployment of high-performance web sites.

How to Test for Performance

To test a site for throughput and performance, you first need to identify a load-testing suite that enables you to adequately test your application.

There are different products on the market that offer a full range of load-testing capabilities. The key attributes that you need to look for in identifying the load-testing software that you will use are as follows:

  • The capability to simulate a high number of virtual users. This is usually addressed in the licensing of the product that you purchase.

  • The capability to simulate unique client connections. This is frequently achieved through a mechanism of enabling you to enter an Internet Protocol (IP) address pool from which the load testing software will draw when creating simulated connections to your server.

  • The capability to randomize variables during your testing. This is an important point, and it is one that can make a difference in your testing results. If each virtual user will need his or her own unique CFID/CFTOKEN to test your application properly, your load-testing software will need to enable you to randomize these types of variables.

After you've identified the load-testing product that you're going to use, you need to begin building your test scripts.

Test scripts generally include a site traversal of your most commonly accessed site paths. You can mine this information from your own web logs, if necessary. What you are trying to do in creating your test script is to mimic what typical users would do when they visit your site. This might include creating an account, logging in, performing some data retrieval, and so on. You want to make sure that the site-traversal script you create is an adequate reflection of what your real-world users are doing when they visit your site.

After you have a site-traversal script in place, you can begin throwing virtual users at your server using this site-traversal script. As load on the server increases, the response times for all the pages should gradually increase, rather than spike. This is how you'll measure how scalable your site is.



Inside ColdFusion MX
Inside Coldfusion MX
ISBN: 0735713049
EAN: 2147483647
Year: 2005
Pages: 579

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net