技术开发 频道

.NET下实现分布式缓存系统Memcached

  四.压力测试以及性能分析

  这里我们使用Microsoft Web Application Stress Tool对web进行压力测试,Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的客户端计算机仿真大量用户上 线对网站服务所可能造成的影响,在网站实际上线之前先对您所设计的网站进行如同真实环境下的测试,以找出系统潜在的问题,对系统进行进一步的调整、设置工 作。就是因为这些特性,才使它具备了DOS轰炸的功能。

  1、工具简单设置

  打开Web Application Stress Tool,很简洁的一个页面,上面是工具栏,左下方是功能选项,右下方是详细设置选项。在对目标Web服务器进行压力测试之前,先对它进行一些必要的设置。

  (1).在“settings”的功能设置中(如下图),一个是Stress level (threads)这里是指定程序在后台用多少线程进行请求,也就是相当于模拟多少个客户机的连接,更加形象的就是说设置多少轰炸的线程数。一般填写 500~1000,因为这个线程数是根据本机的承受力来设置的,如果你对自己的机器配置有足够信心的话,那么设置的越高,轰炸的效果越好。

  (2).在“Test Run Time”中来指定一次压力测试需要持续的时间,分为天、小时、分、秒几个单位级别,你根据实际情况来设置吧!这里面设置测试时间为1分钟。

  (3).其余的选项大家可以根据自己的情况设置。

  2、压力测试

  步骤1:在工具中点右键,选择Add命令,增加了一个新的测试项目:memcache,对它进行设置,在主选项中的server中填写要测试的服务器的IP地址,这里我们是在本机上进行测试,所以填写localhost。在下方选择测试的Web连接方式,这里的方式Verb选择 get,path选择要测试的Web页面路径,这里填写/WebMemCache/memcache.aspx,即加入缓存的memcache.aspx页面(如下图)。

  步骤2:在“Settings”的功能设置中将Stress level (threads)线程数设置为500。完毕后,点工具中的灰色三角按钮即可进行测试(如下图)。

  同理,我们在建一个nomemcach的项目用来测试nomemcache.aspx页面。Memcach和nomemcach测试完毕后,点击工具栏上的Reports按钮查看测试报告:

  3.性能分析

  Memcache.aspx的测试报告:

  Overview

  ================================================================================

  Report name: 2009-7-20 10:52:00

  Run on: 2009-7-20 10:52:00

  Run length: 00:01:12

  Web Application Stress Tool Version:1.1.293.1

  Number of test clients: 1

  Number of hits: 2696

  Requests per Second: 44.93

  Socket Statistics

  --------------------------------------------------------------------------------

  Socket Connects: 3169

  Total Bytes Sent (in KB): 646.80

  Bytes Sent Rate (in KB/s): 10.78

  Total Bytes Recv (in KB): 2019.37

  Bytes Recv Rate (in KB/s): 33.65

  Socket Errors

  --------------------------------------------------------------------------------

  Connect: 0

  Send: 0

  Recv: 0

  Timeouts: 0

  RDS Results

  --------------------------------------------------------------------------------

  Successful Queries: 0

  Page Summary

  Page Hits TTFB Avg TTLB Avg Auth Query

  ================================================================================

  GET /WebMemCache/memcache.aspx 2696 1.94 1.95 No No

  Nomemcache.aspx的测试报告:

  Overview

  ================================================================================

  Report name: 2009-7-20 10:54:01

  Run on: 2009-7-20 10:54:01

  Run length: 00:01:12

  Web Application Stress Tool Version:1.1.293.1

  Number of test clients: 1

  Number of hits: 2577

  Requests per Second: 42.95

  Socket Statistics

  --------------------------------------------------------------------------------

  Socket Connects: 2860

  Total Bytes Sent (in KB): 589.32

  Bytes Sent Rate (in KB/s): 9.82

  Total Bytes Recv (in KB): 1932.75

  Bytes Recv Rate (in KB/s): 32.21

  Socket Errors

  --------------------------------------------------------------------------------

  Connect: 0

  Send: 0

  Recv: 0

  Timeouts: 0

  RDS Results

  --------------------------------------------------------------------------------

  Successful Queries: 0

  Page Summary

  Page Hits TTFB Avg TTLB Avg Auth Query

  ================================================================================

  GET /WebMemCache/nomemcache.aspx 2577 4.75 4.79 No No

  从测试报告上看出memcache.aspx页面在一分钟内的Hits(命中次数)2696,平均TTFB是(Total Time to First Byte)1.94,平均TTLB(Total Time to Last Byte)是1.95。这些参数都低于nomemcache.aspx。另外memcache.aspx的Requests per Second(每秒请求的次数)是 44.93高于nomemcache.aspx页面的42.95.这些参数都说明memcache.aspx页面的执行性能要高于nomemcache.aspx页面。缓存起到了提高性能的作用。当然我这里面进行的测试只是模拟500个用户在1分钟内的访问对Web服务器性能的影响。

  总结

  本文简单介绍了Memcached的基本原理,特点以及工作方式,接下来介绍了Windows下Memcached服务器端程序的安装方法、在.NET应用程序中使用.NET memcached client library。接下来通过运行分析程序来了解memcached的工作原理机制,最后通过压力测试工具对没有加入Memcached机制的页面和加入Memcached页面进行了压力测试,对比加入Memcached机制前后Web应用程序的性能。了解Memcached内部构造, 就能知道如何在应用程序中使用memcached才能使Web应用的速度更上一层楼。提升web应用程序的性能和访问速度。

0
相关文章