我正在开发一个Windows .NET应用程序(WinForms),我需要模拟数据库和应用程序的压力测试(超过100个连接).
你推荐什么工具?
什么是用于负载测试(压力测试)Web应用程序的一些好的自动化工具,它们不使用HTTP网络数据包的记录和重放?
我知道市场上有许多负载测试工具可以记录和重放HTTP网络数据包.但这些不适合我的目的,因为:
HTTP数据包格式在我们的应用程序中经常发生变化(例如,当我们优化AJAX调用时).我们不希望仅仅因为HTTP数据包格式略有变化而调整所有测试脚本.
我们的测试团队不需要知道有关我们编写测试脚本的应用程序的任何内部信息.但是,重放HTTP数据包的工具要求团队知道HTTP请求和响应的格式,以便他们可以调整重放的HTTP数据包的详细信息(例如用户名).
我正在寻找的自动负载测试工具应该能够让测试团队编写"黑盒子"测试脚本,例如:
该工具应该能够模拟多达1000个用户,并且应该与使用ASP.NET和AJAX的Web应用程序兼容.
用于存储 Jmeter 摘要报告结果的文件名应该(据我所知)存储我在屏幕上看到的相同信息。相反,它存储了发送的 HTTP 请求的简短响应,如下所示:
<httpSample t="72" lt="66" ts="1305479685437" s="true" lb="login" rc="200" rm="OK" tn="Virtual users 1-1" dt="text" by="12978">
Run Code Online (Sandbox Code Playgroud)
我将文件名定义为 .csv 文件
知道如何将其变成屏幕摘要报告的副本(样本、平均值、最小值、最大值、标准偏差等)吗?

目前,我有一小组集成测试针对我的web服务器运行,它提出请求并声明对响应应该是什么的一些假设.这些是用Ruby生成的http请求.
我一直在看Gatling压力测试工具,但我想知道它是否也可以用于集成测试.这样,所有端点请求都可以在压力测试和集成测试中重用.
我可能在这里失去了一些东西,因为没有RSpec的BDD但是没有必要两次创建相同的测试.
有没有人有过以这种方式使用加特林的经验?
我一直在尝试使用Locust.io在EC2计算优化实例上加载测试我的API服务器.它提供了一个易于配置的选项,用于设置连续请求等待时间和并发用户数.理论上,rps = 等待时间 X #_users.但是,在测试时,此规则会针对#_users的极低阈值进行细分(在我的实验中,大约有1200个用户).变量hatch_rate,#_ of_slaves,包括在分布式测试设置中,对rps几乎没有影响.
实验信息
该测试已在具有16个vCPU的C3.4x AWS EC2计算节点(AMI映像)上完成,具有通用SSD和30GB RAM.在测试期间,CPU利用率最高达到60%(取决于孵化率 - 控制产生的并发进程),平均保持在30%以下.
Locust.io
setup:使用pyzmq,并将每个vCPU核心设置为从属.单个POST请求设置,请求体~20个字节,响应体~25个字节.请求失败率:<1%,平均响应时间为6ms.
变量:连续请求设置为450毫秒(最小值:100毫秒和最大值:1000毫秒)之间的时间,填充率为每秒30秒,以及通过改变#_users测量的RPS.

RPS遵循预测的方程,最多可达1000个用户.之后增加#_users的收益递减,大约1200个用户达到上限.#_users这里不是自变量,更改等待时间也会影响RPS.但是,将实验设置更改为32个核心实例(c3.8x实例)或56个核心(在分布式设置中)根本不会影响RPS.
那么真的,控制RPS的方法是什么?我有什么明显的遗失吗?
我正在使用scikit-learn方法MDS在某些数据中执行降维.我想检查压力值以获得减少的质量.我期待0到1之间的东西.但是,我得到的值超出了这个范围.这是一个最小的例子:
%matplotlib inline
from sklearn.preprocessing import normalize
from sklearn import manifold
from matplotlib import pyplot as plt
from matplotlib.lines import Line2D
import numpy
def similarity_measure(vec1, vec2):
vec1_x = numpy.arctan2(vec1[1], vec1[0])
vec2_x = numpy.arctan2(vec2[1], vec2[0])
vec1_y = numpy.sqrt(numpy.sum(vec1[0] * vec1[0] + vec1[1] * vec1[1]))
vec2_y = numpy.sqrt(numpy.sum(vec2[0] * vec2[0] + vec2[1] * vec2[1]))
dot = numpy.sum(vec1_x * vec2_x + vec1_y * vec2_y)
mag1 = numpy.sqrt(numpy.sum(vec1_x * vec1_x + vec1_y * vec1_y))
mag2 = numpy.sqrt(numpy.sum(vec2_x * vec2_x + vec2_y * …Run Code Online (Sandbox Code Playgroud) 任何人都知道任何好的数学函数会导致CPU上的大量负载.我想创建一个简单的程序,只需创建X秒的加载,而另一个程序监视它.我只是在寻找功能,而不是实际的压力测试程序.
我想创建一个工具来模拟内存限制,以便对内存压力测试其他应用程序.在完成一些谷歌搜索后,我想出了以下代码,但在运行时,任务管理器或资源监视器没有显示内存使用情况的任何差异.只是一条扁线.
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace Win32Tute
{
unsafe class Program
{
// Heap API flags
const int HEAP_ZERO_MEMORY = 0x00000008;
// Heap API functions
[DllImport("kernel32")]
static extern int GetProcessHeap();
[DllImport("kernel32")]
static extern void* HeapAlloc(int hHeap, int flags, int size);
[DllImport("kernel32")]
static extern bool HeapFree(int hHeap, int flags, void* block);
private static int ph = GetProcessHeap();
public static void* Alloc(int size)
{
void* result = HeapAlloc(ph, HEAP_ZERO_MEMORY, size);
if(result == null) throw new OutOfMemoryException("Couldn't execute HeapAlloc");
return result; …Run Code Online (Sandbox Code Playgroud) 我正在使用magento创建一个电子商务网站.我想在我的网站上使用压力测试来查看我的网站有多强大以及它能承受多少负载.我已经经历了很多事情,但我找不到令人满意的东西.请建议我这样做的一些工具,我可以在localhost上做吗?
我想看看我的nginx + node.js设置可以走多远,以及我可以做出哪些改变来挤出额外的性能我偶然发现了一篇很好的文章,详细说明了可以对操作系统进行一些调整来承受更多请求(我不确定我完全理解)
假设我想看看它如何在一段时间内每秒处理60,000个请求.
我试过apachebench和beeswithmachineguns.apachebench似乎局限于大约3500个请求或其他东西.提高并发性只会以某种方式降低平均req/s.我能够看到(声称)每秒5000个请求到beeswithmachineguns的测试页面,但仍然没有接近我想要的.但是,似乎有点在马车方面.
有没有可靠的方法来模拟这样的大量请求?