其实我是很想弄那些曲线图的..........所以昨天找了一下MATLEB之类的软件,可惜不太懂用,因为我可以通过程序输出某一时刻当前的用户流量和当前池内连接数量的数值,还有条调整因子,上限,下限等,但是1次测试最小也用10000个连接,很难人手输入点,也不懂怎么用MATLEB自动读入那些点,没有用过,所以就放弃了..........
所以对于寻找调整因子的相关系数的时候我只是通过程序不断输出某时刻内的调整因子,连接数量的上限,下限,和目前连接数量,来关注他的变化,调节的准则是:尽量的另少点用户无法取得连接(在测试程序中,每次无法取得连接后就会抛出错误,计数器就会+1),可以通过增加用户重连数和提高调整因子的放大系数来调节,因为每次放大系数越大表示对错误的反应越剧烈,另外一个准则是尽量地另调整因子所调整到的目标连接数量尽量地靠近某一个值附近最小地波动,一开始大的浮动可以允许,因为流量的趋势剧增,但是当流量保持在某一个范围后,调整因子应该在某一个数值范围内尽量少的波动
测试过其他的系数,如果把放大系数调得过高,很容易对于流量剧增的趋势反应过分剧烈,可能导致马上满负载,当缩小的系数也太大的时候,就要经过很长的时间才能稳定到现在流量真正所需要的连接数的数值,相反如果放大系数设置的小的话,对错误的反映不够充分那么调节就失去时效了,对于缩小的系数设置的小的话,调整因子波动有可能会很大,缩小系数的意义在于缓解突发性质的流量对系统的不稳定,稳定系统,所以采用文中的那个策略"我们实在是希望让最大量的客户可以正常取得连接,而不是吝啬于几条连接的增加,尽量地降低"减少连接"的速度,尽量地减少分段函数形或者折线形的流量图对此系统所造成的不稳定。"经过很多的尝试,对于现在的配置文件,折中采取这两个系数
测试工具其实只是用程序模拟并发,就象文中所说的3个类,主程序类test不断调用takeConn产生新的线程模仿客户获取连接来做并发,然后该客户占用着连接睡眠一定时间来模仿该客户在处理事务,用一个计数器Counter里面的两个值分别计算,当前流量是当新建线程时候+1,当该线程睡眠完毕,关闭连接后,返回的时候-1,所以可以计算出某时刻所存在的处理的客户数量
如果版主有什么好的测试方法和建议请告诉我

,谢谢