调用Web Server插入海量记录
公司的项目基本上能跑起来了,今天做了一个服务端的测试,通过Web Service向数据库里插入100万条记录........
这个程序是在我自己的机器上调试的,也就是客户端和服务器端都在我的机器上..
程序运行起来,没想到刚插入了3960左右就跳出一个错误:
"Could not connect to http://localhost:1000/Service1.asmx. TCP error code 10048: 通常每个套接字地址(协议/网络地址/端口)
只允许使用一次。 127.0.0.1:1000."
弄的我好伤心,也不知道是哪里出了错误,调试了几次以后,结果差不多,而且还都是运行到3960左右的时候
通过上网查询以后,造成这个错误的原因在于:当客户端每一次请求的时候都会打开一个端口,这个可以通过控制台命令 netstat -n来
查看,如果当有几万条请求访问服务器端得时候,在本机器上就会开启N多个端口,而且这些端口都是动态分配的,等到连接完毕后在一
定时间以后会自动断开,这个可以通过 netstat -n 来查看,这个时间取决于TcpTimedWaitDelay这个是在注册表中的Parameters目录
下的,如果没有可以自己手动的创建,具体的值可是去网上查,当本地的端口都别占用的时候,而客户端继续不断的请求就会出现这个问
题.
这个是我的理解,仅供大家参考用,更多详细,可靠的资料可以去网上查
解决的办法:
设置MaxUserPort 和 TcpTimedWaitDelay,这两个是Tcp/Ip的元素,在注册表中,怎么设置网上很多在这不做 介绍 了.