我的网站有一台web服务器,我正在尝试对它进行压力测试,但我似乎无法做到。我认为问题在于XP (Pro)中并发连接的数量有限。
我用C#编写了一个简单的客户端来进行压力测试:
...
for (int i = 0; i < _numThread; i++)
{
Thread t = new Thread(CallGetHttp);
t.Start();
}
...
private void CallGetHttp()
{
WebRequest wrGETURL;
wrGETURL = WebRequest.Create(_url);
WebProxy myProxy = new WebProxy("myproxy", 80);
myProxy.BypassProxyOnLocal = true;
wrGETURL.Proxy = WebProxy.GetDefaultProxy();
Stream objStream;
objStream = wrGETURL.GetResponse().GetResponseStream();
StreamReader objReader = new StreamReader(objStream);
..
}这样合适吗?如果是,我如何增加并发连接的数量?
发布于 2009-01-19 09:05:56
连接限制是在入站套接字上的,它被硬编码到XP的网络堆栈中,以防止它们被用作服务器(更多的钱给微软...)如果您使用的是microsoft堆栈,那么您唯一的选择就是迁移到Windows Server;如果您的代码支持linux,那么您也可以合法地迁移到linux。如果你不做任何太具体的事情,那就去看看mono吧。
还要小心落入虚拟PC陷阱。microsoft虚拟PC的网络访问是通过XP网络堆栈进行的。因此,如果您在XP中的VM中运行linux,您仍然受到10个入站连接的限制。
https://stackoverflow.com/questions/456923
复制相似问题