2009年10月小记(MapAreaRoute, PsExec, ab.exe)


1、 Asp.net mvc 2.0 preview 1 提供了网站分区的解决方案,能过area功能可以把一个大Project分割成多个小的Project,或者用于分享网站的前后台结构。
对于如何应用area可以参考如下两篇文章:
这里只是提出一些容易忽视的地方:
1.1、在每次编译时,在主站点下的\Views\Areas目录下会复制出所有的area,目录名称就是area的名称。
1.2、在area子站点下的Routes.RegisterRoutes方法中所注册的areaName需要和上面提到的area名称相同。
如:
            routes.MapAreaRoute(
                
" RyShop.Web.Center " ,
                
" Account_Default " ,
                
" Profile/{action}/{id} " ,
                
new  { controller  =   " Account " , action  =   " Index " , id  =   ""  },
                
new   string [] {  " RyShop.Web.Center.Controllers "  }
                );
这里的area名称就是RyShop.Web.Center
1.3、在应用Html.ActionLink时需要指定正确的area名称如:
Html.ActionLink( " Account " " Index " " Account " new  { area  =   " RyShop.Web.Center "  },  null )
1.4、由上面可见,这个area名称也太长了,其实这个area名称就是要和程序集的名称相同。如果想把RyShop.Web.Center名称改成Center,可以同时修改
程序集的名称和area名称,保持相同
总之一句话:保持area名称和area项目程序集名称一致。命名空间可以不一致。
1.5、还有一点要注意的是:\Views\Areas目录下生成的area,是由\Manifests目录下的xxx--manifest.xml配置文件决定的,所以如果修改了area,请把\Manifests目录下的文件删除,也把\Views\Areas目录目录清空。

2、远程执行工具PsExec, 可以有效执行服务端的远程命令,并且命令可以写到文本文件中批处理执行。

3、使用ab.exe进行压力测试。
ab.exe是Apache下的压力测试工具,使用方式如:
C:\Program Files\CollabNet Subversion Server\httpd\bin>ab -n1000 -c10 http://www.xxx.com/space-1.html
-n1000 表示发出1000个请求
-c10 表示10个并发
可以通过如上命令来测试服务器处理某个页面的性能,命令结束执行后会列出一些性能指标,如下是部分重要要指标:
吞吐率(Requests per second) = 总请求数(Complete requests) / 总耗时(Time tabken for tests)
用户平均请求等待时间(Time per request) = 总耗时(Time tabken for tests) / (总请求数(Complete requests)/并发用户数(Concurrency Level))
服务器平均请求处理时间(Time per request(across all concurrent requests)) = 总耗时(Time tabken for tests) / 总请求数(Complete requests)
   或者
服务器平均请求处理时间(Time per request(across all concurrent requests)) = 用户平均请求等待时间(Time per request) / 并发用户数(Concurrency Level)






你可能感兴趣的:(route)