首页 新闻 搜索 专区 学院

mvc并发性能

0
悬赏园豆:100 [待解决问题]

请教一下,创建一个默认mvc4网站,没有添加/修改任何代码,用25个用户并发测试,cpu就高达50左右是怎么回事?

而在views目录外面新添加一个hmtl页面,同样并发测试,cpu正常。

而测试asp.net网站,同样并发测试cpu 15%左右,mvc怎么比asp.net高出这么多。

iso1osi的主页 iso1osi | 初学一级 | 园豆:54
提问于:2014-03-25 16:28
< >
分享
所有回答(5)
0

说明你的 CPU 太慢了嘛。

Launcher | 园豆:45045 (高人七级) | 2014-03-25 16:30
0

没事,是你的方法不对

吴瑞祥 | 园豆:28841 (高人七级) | 2014-03-25 16:30

 就是mvc默认的例子,什么都没有修改和添加

支持(0) 反对(0) iso1osi | 园豆:54 (初学一级) | 2014-03-25 16:34

@iso1osi: 是说你测试的方法不对.你是怎么用25个用户并发测试的?

支持(0) 反对(0) 吴瑞祥 | 园豆:28841 (高人七级) | 2014-03-25 16:38

就用 Visual Studio 负载测试,并发用户25个用户,思考时间设置为0。

支持(0) 反对(0) iso1osi | 园豆:54 (初学一级) | 2014-03-25 16:44

@iso1osi: 你是在电脑上测试本地的网站吗?

支持(0) 反对(0) 吴瑞祥 | 园豆:28841 (高人七级) | 2014-03-25 16:50

一台测试机,在本机运行负载测试

支持(0) 反对(0) iso1osi | 园豆:54 (初学一级) | 2014-03-25 16:54

@iso1osi: 请求是每秒钟一次,还是不停的发?

支持(0) 反对(0) 吴瑞祥 | 园豆:28841 (高人七级) | 2014-03-25 16:58

不停的发

支持(0) 反对(0) iso1osi | 园豆:54 (初学一级) | 2014-03-25 17:06

@iso1osi: 一般说性能至少要说1秒内能处理多少请求,而不是25个线程不停的发请求.

我不太会解释.你这样的行为就相当于在服务器上while(true)了.然后嫌弃服务器卡

支持(0) 反对(0) 吴瑞祥 | 园豆:28841 (高人七级) | 2014-03-25 19:12
0

mvc是异步执行,webform页面是同步执行。 

在执行耗时操作的时候,异步请求处理,提升了服务器整体的吞吐能力,处理速度要快,当然耗cpu。

不浮躁 | 园豆:144 (初学一级) | 2014-03-25 21:27

mvc是异步执行,webform页面是同步执行。  这个还是头一回听到...  请解释 ,谢谢

@objectboy: Asp.Net管道中,ProcessRequest事件中执行 mvc的action(异步) or webform的page_load(同步).

支持(0) 反对(0) 不浮躁 | 园豆:144 (初学一级) | 2014-03-26 10:48

@objectboy: 再一个,你到底测试的是html页面还是aspx页面,html静态页面直接返回html代码,就不用到CPU去处理什么。

支持(0) 反对(0) 不浮躁 | 园豆:144 (初学一级) | 2014-03-26 18:39
0

人家都是每秒钟访问次数,你却不停跑然后看CPU占有率.

在你的测试用例下,CPU占有率越高越好,因为证明CPU真正的在处理请求了,而不是在等待IO.(MVC默认异步的,所以CPU的利用率会好点),你可以测试一下每分钟处理请求次数.

~洛书~ | 园豆:333 (菜鸟二级) | 2014-03-27 17:55
0

今天我也遇到这个问题。

 

是nopCommerce的样例。

 

怎么解释?

 

就是公司内部的不到100人来访问这个网站,没做什么压力测试之类的。

519740105 | 园豆:5810 (大侠五级) | 2015-03-12 18:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册