none
PLINQ AsParallel()问题 RRS feed

  • 问题

  • 我在ASP.NET的WEB站点上查询一个内存LIST列表,在启用 AsParallel后,使用LOADRUNNER开启200个用户并发测试的时候,WEB站点就会卡掉(这时WEB站点的资源都如CPU,内存都没有什么变化,当我将LOADRUNNER停掉的时候,过一会,站点就又会恢复正常工作),但是我不启用AsParallel时则没有问题。但是启用AsParallel后,我本机的环境调试的确有性能提升。请帮忙分析一下这是什么原因引起的并如何解决呢?

    2016年3月18日 9:15

答案

  • 我在ASP.NET的WEB站点上查询一个内存LIST列表,在启用 AsParallel后,使用LOADRUNNER开启200个用户并发测试的时候,WEB站点就会卡掉(这时WEB站点的资源都如CPU,内存都没有什么变化,当我将LOADRUNNER停掉的时候,过一会,站点就又会恢复正常工作),但是我不启用AsParallel时则没有问题。但是启用AsParallel后,我本机的环境调试的确有性能提升。请帮忙分析一下这是什么原因引起的并如何解决呢?

    PLINQ和LINQ的区别在于,PLINQ会占用更多的资源去处理查询,所以执行的时间会比LINQ快;LINQ执行慢但占用资源少。 微软的asp.net论坛上有人做过类似的测试,测试结果请看这里, http://weblogs.asp.net/nmarun/parallel-linq-plinq

    在你的场景中,web站点卡死的原因我觉得是不是200个并发请求的时候达到了web站点资源的瓶颈,再多的请求进不来,看上去就像是卡死了一样。你可以逐步提高并发用户来测试瓶颈在多少或者如果条件允许更换一个更好的电脑来测试。

    希望能够帮到你。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年3月21日 2:29