0

我正在寻找一种“具体”的方法来区分通过 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

你为你的 webapps 使用什么性能测试方法?

它们都包含很好的建议,但我想要一个更实用的方法来参考 Web 应用程序的测试。先感谢您

4

1 回答 1

0

5MB 文件是一分钟还是一秒?你能张贴一张图表,说明各个部分是如何连接的吗?

有一种方法可以确定网络延迟和应用程序处理对总响应时间的影响。

它需要检测构成整个系统的浏览器和其他组件。即用 JavaScript、Java、C/C++、Perl、Python 等编写代码并将其嵌入到每个应用程序组件中,以便组件可以向中央收集器报告事件。

如果无法轻松地将检测添加到组件中,则另一种方法是在组件之间插入事件收集代理,然后让它们将事件报告给中央收集器。您可以通过在路径中运行带有和不带有代理的少量测试来确定和排除由于代理引起的延迟。

一旦事件到达中央收集器,就可以很好地了解响应时间是如何构成的。

于 2013-10-28T04:48:14.710 回答