民工_ 2018-06-13 07:38 采纳率: 50%
浏览 5907
已结题

高并发访问同一个webservice 问题 怎么提高速度

有个客户接口 接受我推送过去的数据 ,所以我写了个循环进行价格推送。

因为数据量大 所以我写了多线程

foreach (var roomlist in hotelRoomInfoList)
{
// Thread.Sleep(10000);//每个线程间隙10秒
if (roomlist != null && roomlist.Count > 0)
{
//多线程
Thread thread = new Thread(new ParameterizedThreadStart(RoomInfoProcessThread));//创建线程
thread.Start(roomlist); //启动线程
}

}

         private void RoomInfoProcessThread(object obj_roomlist)
    {
                        foreach (var roomInfo in roomInfoList)
            {
                             _service.Request(roomInfo);
                        }
            }


            问题是反应速度 很慢  是不是windows什么地方限制了  
            每秒对外访问的次数有限?

            有没有大神有什么好的解决方法?



            已解决 :

            谢谢大家 

            加上 
            //最大连接数
    httpWebRequest.ServicePoint.ConnectionLimit = int.MaxValue;

            可恶的连接数默认值  限制了!默认同时只能请求2个 改了就好了!!
  • 写回答

10条回答 默认 最新

  • oBeiPiao12 2018-06-13 07:42
    关注

    你每个线程都要停留10秒肯定会慢的啊。。然后你可以考虑下并行,百度下并行是怎么用的,推送的时候可以异步进行

    评论

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题