问题标签 [performance-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
386 浏览

performance-testing - 如何跟踪性能测试

我目前正在对复杂的多层系统进行性能和负载测试,以调查不同更改的影响,但我在跟踪所有内容时遇到了问题:

  • 有许多不同程序集的副本
    • 最初发布的组件
    • 正式发布的修补程序
    • 我构建的包含更多附加修复的程序集
    • 我构建的包含附加诊断日志记录或跟踪的程序集
  • 有许多数据库补丁,上面的一些程序集依赖于正在应用的某些数据库补丁。
  • 存在许多不同的日志记录级别,位于不同的层(应用程序日志记录、应用程序性能统计信息、SQL 服务器分析)
  • 有很多不同的场景,有时只测试一种场景很有用,有时我需要测试不同场景的组合。
  • 负载可以分布在多台机器上,也可以只分布在一台机器上
  • 数据库中存在的数据可能会发生变化,例如,一些测试可能会使用生成的数据进行,然后使用从实时系统中获取的数据。
  • 每次测试后都会收集大量潜在的性能数据,例如:
    • 许多不同类型的特定于应用程序的日志记录
    • SQL 事件探查器跟踪
    • 事件日志
    • 车管所
    • 性能计数器
  • 数据库有几个 Gb 大小,所以我会使用备份恢复到以前的状态,我倾向于在上次测试后对任何存在的数据库应用更改,这导致我很快就失去了对事物的跟踪。

我尽可能多地收集关于我所做的每个测试的信息(测试的场景,应用了哪些补丁,数据库中有哪些数据),但由于结果不一致,我仍然发现自己不得不重复测试。例如,我刚刚做了一个测试,我认为它与几个月前运行的测试完全相同,但是数据库中的数据已更新。我知道新数据应该会导致性能下降,但结果却恰恰相反!

与此同时,我发现自己花费了不成比例的时间来记录所有这些细节。

我考虑过的一件事是使用脚本来自动收集性能数据等......,但我不确定这是一个好主意 - 不仅花时间开发脚本而不是测试,而且我的脚本中的错误可能会导致我更快地追踪事物。

我正在寻求一些关于如何更好地管理测试环境的建议/提示,特别是如何在收集所有内容和实际完成一些测试之间取得平衡,以免遗漏一些重要的东西?

0 投票
2 回答
6682 浏览

http - Tomcat 和 JMeter 生成 HTTP 404 错误

我是 JMeter 的新手。我正在尝试使用 JMeter 连接到部署在 Tomcat 中的 Web 应用程序,以模拟少数用户登录和浏览页面。

当我运行测试计划时,JMeter 日志显示了一系列 HTTP 404 消息,表明某处存在通信问题。

以下链接显示了测试计划的 HTTP 默认值:

替代文字 http://www.dcs.bbk.ac.uk/~martin/uploads/HTTP_Defaults.PNG

跟随两个简单的 HTTP 请求。

第一个请求应该使用户能够登录:

替代文字 http://www.dcs.bbk.ac.uk/~martin/uploads/Login.PNG

第二个请求应该允许新登录的用户浏览页面:

替代文字 http://www.dcs.bbk.ac.uk/~martin/uploads/Browse.PNG

但是,正如我所说,我在 JMeter 日志中收到的只是 HTTP 404 消息:

Tomcat 在测试期间运行,在测试计划中,我还将 HTTP Cookie 管理器设置为“默认”。

当我的应用程序在测试中在 Tomcat 下运行时,它的 URL 是http://localhost:8080/myDataSharer并且我试图让 JMeter 反映这一点。

欢迎任何帮助,因为我无法弄清楚为什么 JMeter 和 Tomcat 不互相交谈。

谢谢

马丁

0 投票
6 回答
23702 浏览

sql - 有哪些工具可用于测试 SQL 语句的性能?

在对性能的永无止境的追求(以及我自己的大刀阔斧的经历)中,我学到了一些可能会降低 SQL 语句性能的东西。

Obsessive Compulsive Subqueries Disorder
进行疯狂的类型转换(并将它们嵌套到遗忘中)
Group By 对所述疯狂类型转换的聚合函数在
哪里 fldID(从我的 500 万记录表中选择所有内容)

我通常使用 MSSQL。有哪些工具可用于测试 SQL 语句的性能?这些工具是否内置并特定于每种类型的数据库服务器?或者有没有通用的工具?

0 投票
2 回答
411 浏览

ruby-on-rails - 为什么我的会话在使用 PerformanceTest 而不是 IntegrationTest 时会过期?

好的,我正在编写性能测试,并且无法像在集成测试中那样让我的会话持续存在。据我了解,PerformanceTest 是 IntegrationTest 的子项,任何集成测试都应该与性能测试一起使用。但是,当我进行集成测试并将其复制到性能时,将 ActionController::IntegrationTest 更改为 ActionController::PerformanceTest 然后运行测试,它失败了。

我正在使用 Authlogic,并且没有遇到集成测试会话的问题。通过性能测试,虽然看起来会话已正确创建,但是当我访问“/reports”页面(这是一个受保护的页面)时,它会将我重定向到登录页面,就像根本没有用户会话一样。

这里发生了什么?我尝试了多种方法来获取用户会话(创建、发布等),但似乎没有任何效果。这是我第一次编写性能测试,所以我可能在做一些愚蠢的事情......

顺便说一句:我在 Debian Squeeze 上运行 Ruby 1.8.7、Rails 2.2.2。

0 投票
2 回答
603 浏览

c# - 如何在我们的网站上进行性能测试

而我们的客户需要我们在网站上模拟50人同时工作,响应时间应该在5秒以内。但我们担心的是,如果我们在他们的网站上进行测试,我们无法控制网络速度、硬件等。因为这可能会影响我们的测试结果。还有就是我们网站有一些antiforgerytoken,性能测试工具无法模拟这种机制,我们记录请求后,系统再次发送,就会失败,因为token已经失效。我想知道您通常如何执行此性能测试?有什么建议么 ?提前致谢 !

0 投票
2 回答
672 浏览

forms - 记录的测试计划不起作用

我使用 jmeter 记录请求,然后执行性能测试。

在我用代理服务器记录了所有请求并且它们包含 post 表单后,我运行了这些测试用例,但我发现 post 表单不起作用:它无法自动在网站的数据库中创建记录。

但在此之前,我使用了 webload,一切正常。

有什么问题?我能做些什么来解决它?

0 投票
1 回答
176 浏览

c# - 为什么在数据库中没有看到 10 条记录?

我使用 JMeter 来测试我的 Web 应用程序。我的测试用例是在数据库中添加一条记录。然后我将“线程用户数”设置为20,这意味着它将模拟20个用户同时工作。然后我运行测试用例。但最后我发现系统并没有在数据库中创建 20 条记录,而是在数据库中创建了 13 条记录。

我想知道为什么会这样?是否有可能因为在我的 Web 应用程序中我没有在添加记录方法前面添加“同步”?我使用linq,如果两个用户同时向服务器发布创建记录的请求,会发生什么?只创建一条记录还是可以成功创建两条记录,还是未知?

以下是在数据库中创建记录的示例代码:

0 投票
2 回答
994 浏览

.net - .NET 智能客户端应用程序的性能测试(.NET ClickOnce 技术)

为 ClickOnce 应用程序运行性能测试是什么体验?

我曾与一家供应商合作,该供应商在使用我们的软件设置工具集时遇到了麻烦,因为它是基于智能客户端的。可以理解的是,它们更适合纯粹基于浏览器的应用程序。

可以推荐哪些供应商使用行业标准工具,例如LoadRunner(我假设它可以处理智能客户端)?

0 投票
2 回答
2137 浏览

java - 对 Java-Client-Server-Application 进行负载测试

我们将 spring-remoting 用于 Client-Server-Application。现在我们很疑惑如何用序列化的对象来实现真正的负载测试。

问题是许多负载测试工具包都是基于纯文本 HTTP 通信的,因此很容易参数化 http-requests。因为 spring-remoting 是基于序列化对象的,所以我们不能轻易参数化与服务器的 http 通信。

我的第一个想法是封装 spring-remoting 的端点,并通过客户端服务类调用服务。但是如何实现从多个客户端调用远程服务以获得真正的负载测试场景呢?是否有任何解决方案可以以简单的方式包装客户端服务?

有没有人有一些经验如何实现它?

谢谢你的建议。

0 投票
1 回答
152 浏览

spring - 基准/分析最大用户可以在 Web 应用程序上支持

任何易于使用的实用程序/工具/分析器/基准测试能够通过分析会话大小、cpu 速度、内存大小..etc 和服务器过度打包/过载时的“预测”来测试 Web 应用程序能够支持的最大用户数是多少?