我正在分析一个asp(经典)Web服务。 Web服务进行数据库调用,读取/写入文件以及处理xml。在Windows Server 2003的机箱(2.7ghz,4核,4GB RAM)上,我应该能够在事情开始失败之前处理每秒多少个请求。
我正在构建一个测试工具,但我正在寻找每秒拍摄的一些请求。
我知道这很模糊,但请尽量给出最好的估计。如果您需要更多信息,请询问。
答案 0 :(得分:1)
任何数据驱动应用程序的95%的性能取决于数据库:1)您的呼叫方式,2)索引,3)数据库下的硬件(特别是磁盘子系统)。
我见过一台机器,就像你描述的那样,每秒处理40个请求(2500 /分钟),但是每秒10次(600 /分钟)的数字更常见。如果你在同一台机器上运行你的数据库,我会期望更低,如果该数据库是SQLExpress或MSAccess,我甚至会更低。
此外,在容量方面,您的应用程序可能不会失败,但IIS会在请求饱和后进行队列请求,并且如果在超时到期之前无法为其提供服务,则可能会超时其中一些请求。
顺便说一句,您可能希望使用Microsoft WCAT等测试工具,而不是构建测试应用程序的工具。它非常流畅且易于使用。
答案 1 :(得分:0)
它应该多快?足够快。
速度有多快?这是一个只有您和您的用户才能回答的问题。如果您的服务非常低效并且能够满足需求,那么它的速度就足够快了。如果您的服务是针对程序集优化的,闪电般快速的,并且不满意请求,则速度不够快。
如果服务器正在处理其实际工作负载,那么不要担心它“应该”有多快。当服务器出现问题或者您预计它很快就会出现问题时,您应该考虑改进代码或升级硬件。记住Knuth定律 - 过早优化是万恶之源。你现在所做的任何工作都可以让它变得更快,但是你可能会被迫在灵活性或可维护性方面做出妥协。还要记住,一句古老的谚语 - 如果没有破坏,请不要修复它。
答案 2 :(得分:0)
是的我还会说每秒10个是一个很好的基准。对于高性能应用程序,您可能希望获得更多,但如果您没有特定目标,那么对于具有大量数据库查询的常规网页,您通常应该每秒至少获得10个请求。