您的位置:首页 > 其它

[ZZ]Remoting技术:多线程中IpcChannel的性能太逊

2011-03-30 18:38 141 查看
原文出处:/article/5523861.html

网上都说Ipc通道的速度比Tcp、http通道快,也有相关的测试文章。但我在多线程测试中发现Ipc通道比Tcp慢了差不多20多倍,测试方法是在IIS6中创建Remoting通道,用WAS压力测试工具进行测试。IIS6中Web园设置为100个进程,核心请求队列设置为4000,然后打开WAS并设置1000个线程,每个线程2个连接。点击启动。

private void Form1_Load(object sender, EventArgs e)
private void Form1_Load(object sender, EventArgs e)

远程代理类部分代码,

  

Code
protected void Page_Load(object sender, EventArgs e)
{

string testL=new string (' ',36*8);
SayHello sh;
IpcChannel channel = null;
string Identity=Request.QueryString["name"]??new Random().Next(10000000).ToString();
if (ChannelServices.RegisteredChannels.Length == 0)
{
BinaryServerFormatterSinkProvider sfsp = new BinaryServerFormatterSinkProvider();
sfsp.TypeFilterLevel = TypeFilterLevel.Full;
Hashtable props = new Hashtable();
props["portName"] = "ChatClient";
props["authorizedGroup"] = "Everyone";
channel = new IpcChannel (props, null, sfsp);
ChannelServices.RegisterChannel(channel, false);

}
sh = (SayHello)Activator.GetObject(typeof(SayHello), "ipc://Chater/SayHello");
SayEventReappear re = new SayEventReappear();
re.OnSay += new SayHandler(re_OnSay);
sh.AddEventReappear(Identity, re);
Response.Write(testL);

System.Threading.Thread.Sleep(120000);

re.OnSay -= new SayHandler(re_OnSay);
sh.SubEventReappear(Identity);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: