最近几天由于工作的需要,自己做啦一个WCF的压力测试程序;
主要测试指标:
1)平均每秒事务处理数;
2)平均事务反应时间;
3)压力机和服务器计数器;
采用的是多线程来模拟并发;
主要问题是,在线程开到200个时,压力机CPU占用达到90%以上;
不知道哪位仁兄有没有有好的办法;
另外,假如通过WCF Channel直接给服务端发送Message,压力机压力也能减少很多。但是通道始终建立不起来,很奇怪,代码如下:
EndpointAddress address = new EndpointAddress("net.tcp://localhost:8990/WCFService");
NetTcpBinding binding = new NetTcpBinding();
BindingParameterCollection parameters = new BindingParameterCollection();
IChannelFactory<IChannel> chananelFactory = binding.BuildChannelFactory<IChannel>(parameters);
chananelFactory.Open();
IChannel channel = chananelFactory.CreateChannel(address);
channel.Open();
System.ServiceModel.Channels.Message request =
System.ServiceModel.Channels.Message.CreateMessage(binding.MessageVersion, "SendMessage", "Message Body");
channel.Close();
chananelFactory.Close();
其中IChannelFactory<IChannel> chananelFactory = binding.BuildChannelFactory<IChannel>(parameters)报错,唉。