我们正准备在 Windows Server 2003 上运行的 IIS 6 上初始部署 ASP.net MVC 应用程序。我们一直在阅读涉及在 MVC 应用程序中使用无扩展 url 的性能问题,特别是在这种情况下从 url 的 Controller 部分删除“.aspx”扩展名。
过去部署过 MVC 应用程序的人是否遇到过这方面的性能下降?它是否引人注目,拥有更清晰的 URL 是否值得?我们的应用程序很少需要处理超过 1000 个左右的并发用户。
编辑:感谢所有回复,它工作得很好,尽管有些人提到了一些奇怪的请求,但我认为我们可以使用此处提到的建议来解决这些问题。
最佳答案
我们最近部署了一个应用程序,收到了大约。使用 IIS 6 通配符映射设置,在 3 个月内有 2000 万次页面浏览,没有任何性能问题。我们确实将大部分图像托管在 CDN 上,但其他静态内容是直接从网站提供的。
就其值(value)而言,IIRC,asp.net 处理程序将通过默认处理程序将对静态文件类型的请求传回 IIS 进行处理。唯一实际的性能损失是在该过程中工作线程被占用以识别和传输请求的时间。在除了最极端的情况之外的所有情况下,这都微不足道。
作为额外说明,我们在上线之前对我提到的应用程序进行了负载测试,发现它每秒可以处理近 2000 个静态请求,每秒可以处理大约 700 个涉及数据库事件的页面请求。该站点托管在 ZXTM 负载平衡器后面的 4 台 IIS 6 服务器上,具有 1GB 互联网管道。
这里有一个链接,里面有一些关于整个静态文件处理业务的好建议:
关于asp.net-mvc - IIS 6 上无扩展 URL 的 ASP.net MVC 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1522286/