我正在寻找一种“具体”的方法来区分通过 Web 应用程序提供的服务的性能瓶颈。我正在寻找一种整体方法,包括测试计算机网络、数据库和 Web 应用程序。假设您在一个 Web 应用程序前面,该应用程序允许您在登录公司网络后下载 pdf 文件。您可以使用浏览器访问应用程序。
最终用户要求是 Web 应用程序必须允许在不超过 1 分钟的时间内下载 pdf 文件(最大 5MB)。一些技术细节: - 该应用程序由一个数据库、一个文档管理系统(例如,Alfresco)和一段 Java 代码组成。- 用户通过向应用程序提供用户名和密码来验证他/她自己,然后应用程序将它们发送到 LDAP 服务器(LDAP 服务器部署在另一个物理服务器上)。java serlet 完成这项工作并额外查询数据库以了解用户的角色(用户可以是管理员、读者、作者)。- 经过身份验证的用户访问搜索页面,搜索文档后将下载文件。搜索以这种方式工作:用户填写一些字段(例如,文件的名称)该字段被发送到文件管理系统,该系统执行文件的实际搜索并将结果返回给应用程序。当用户单击下载按钮时,应用程序从文档管理系统中检索文档。
底层网络应该是 1GB Eth,带有一些路由器/网桥和负载均衡器,我们对网络拓扑有广泛的了解。
我的问题是:如果某处(在网络中,在 Web 应用程序中,例如,糟糕的编码)存在违反先前要求(1 秒下载时间)的性能瓶颈,我们如何才能发现它?我们应该从哪个元素开始?例如尝试了解网络性能,然后是文档管理系统,最后是整个系统(应用程序、网络、数据库)。我们应该如何逐步增加下载请求的数量?
我正在寻找一种方法,我已经阅读过
http://www.agileload.com/performance-testing/performance-testing-methodology/test-methodology
http://msdn.microsoft.com/en-us/library/bb924375.aspx
它们都包含很好的建议,但我想要一个更实用的方法来参考 Web 应用程序的测试。先感谢您