|
能够支持100万个并发的TCP连接,既是一个Web服务器也是一个性能测试平台的重要里程碑。能够处理1百万个并发连接是不容易的,生成1百万个连接数量可能会更加困难。我们可以经常看到某些性能测试平台供应商会自豪地竖起广告,声称他们的系统(用了数以百计的业务负载生成器)能够产生100万个并发连接。 在这篇文章中,我们将证明NetGend测试平台同样可以做到这一点, 而且仅仅在一个miniPC平台上。
以下是我们的测试平台采用来和被测服务器进行连接对话的简单脚本:
function VUSER() {
http.POSTData = "username=user${userId}&password=letmein";
action(http, "http://10.3.0.6/smartlogin");
sleep(500000);
}
上面的这个脚本的基本过程是,每个客户端建立TCP连接到服务器,并做一个HTTP登陆的操作,并保持连接打开。测试结果如下图所示,达到了1百万并发TCP连接的图形(“TCP open session” 是指建立的并发用户会话) 。
你也许会想这些连接不可能从同一客户端的一个IP地址上的许多TCP连接到Web服务器(一个IP地址),因为在一个客户端上最多只有65535 个TCP端口号。没错,只有一个客户端的IP地址,我们不能达到1百万用户连接。幸运的是, NetGend平台可以模拟一个IP地址范围。事实上, 它还可以模拟一百万个IP地址在来实现这个测试需求。
下面是一组我们用于测试的参数,大概模拟了一个大约25000个范围段的IP地址。
当您单击“Run”按钮,测试平台会立即开始生成TCP会话,换句话说,NetGend不会像其它平台那样要等待几分钟来生成如此大量的模拟用户。以每秒5000新建会话的速度,它需要大约200秒达到1百万的并发会话连接。
如果你想知道NetGend测试平台对业务处理的深度和灵活性,下面大概列了几条NetGend支持的一些功能列表:
• Processing/parsing of JSON message, JSON Path, JSONP messages. JSON消息的处理/分析, JSON的路径, JSONP的消息,
• JSON-RPC
• Processing of XML message and Xpath. 处理XML消息和XPath,
• HTML message processing by Xpath, regular expression, string search. 通过Xpath的HTML邮件的处理,正则表达式,字符串搜索
• HTML form filling that takes care of hidden fields and internal field names. HTML表单填充,需要关注到隐藏字段和内部字段名。
• Combinations of (nested) conditions and/or loops. (嵌套)条件和(或)循环的组合
• Rendezvous point. 会合点
• ...
注意,以上功能中消息处理的参数化和关联性,对其他的测试平台来说实现非常复杂。但对NetGend平台来说非常简单(请参阅相关NetGend介绍文章, http://www.netgend.com),即使对那些谁没有大量编程背景的工程师来说也同样可以简单实现。
如果你需要测试1百万连接能力的服务器,你可以试一下NetGend, 它会在几分钟内给你答案。 |
|