Web applications 我的web应用的简单加载测试

Web applications 我的web应用的简单加载测试,web-applications,load-testing,Web Applications,Load Testing,我们感兴趣的是对我们新诞生的web应用程序运行一个简单而基本的加载测试,不太复杂-不需要登录或在站点中导航-只需通过许多并发get请求轰炸我们的web,以获得预定义的URL列表 我一直在看,它看起来真的很棒-只需几分钟的时间就可以设置,我收到了很多对我网站的get请求,这些平台的问题是,当我定义对某个页面的get请求时,它只会点击这个页面,而不会请求它的内部资源图像、css和js,当然,我可以将这些资源添加到url列表中,但它不会给我真正的结果 有什么建议吗? 我可以用ApacheAb或Sake

我们感兴趣的是对我们新诞生的web应用程序运行一个简单而基本的加载测试,不太复杂-不需要登录或在站点中导航-只需通过许多并发get请求轰炸我们的web,以获得预定义的URL列表

我一直在看,它看起来真的很棒-只需几分钟的时间就可以设置,我收到了很多对我网站的get请求,这些平台的问题是,当我定义对某个页面的get请求时,它只会点击这个页面,而不会请求它的内部资源图像、css和js,当然,我可以将这些资源添加到url列表中,但它不会给我真正的结果

有什么建议吗? 我可以用ApacheAb或Sakege做我想做的事吗? 你知道一个类似的工具,让我这样做吗?我看了JMeter,看起来有点过分了


Thx.

我建议您尝试一种允许您在浏览器中录制会话的工具。这些工具通常会捕获每个页面上的所有资源,并将它们包含在测试中。搜索负载测试软件将发现许多选项。我将为我们的产品的免费版本插入一个插件,该插件应该适用于您描述的场景,并允许您使用无限数量的用户进行测试。

首先,答案是:围城常见问题解答为您提供;两者都是直截了当的

在你的评论中,你写道Sakey会分别对待每个URL——这不仅仅是Sakey,你的浏览器就是这样工作的。它首先下载一个HTML文件,在该HTML文件中,它将看到指向其他资产图像、javascript文件等的链接,并将下载这些链接。通过使用sproxy,您可以重新创建并查看您的浏览器正在执行的操作,并将其另存为说明以供参考

第二,建议使用JMeter;这样,您就可以在您的网站上点击,捕获下载内容,然后使用JMeter重新播放

第三,需要注意的是,通过下载所有图像、链接等,您可以有效地测试web服务器Apache、IIS等的性能,而不是web应用的性能。即使是最顽固的愤世嫉俗者也可能承认,您的Web服务器的性能已经被其他人确定,并且几乎肯定不会成为问题。你真的想测试这个吗?

最后使用了。 虽然它有很多bug,会因为很多分段错误而破坏进程,但它有一个很好的特性,可以让您使用sessions-wsesslog

另一个选项是使用Sakege模拟一个客户端并并行运行两个客户端: 假设您有一个url.txt,其中包含要测试的所有url,还有一个resources.txt文件,其中包含一个通用资源,每个文件导入图像、css和js,因此您可以使用此脚本模拟并行的客户端数量:

#run X users in parallel:
i=1; 
for line in $(head -|NUMBER OF CLIENTS| urls.txt); do 
    echo $line > client$i;
    cat resources.txt >> client$i;
    let "i += 1";
done;

for f in $(ls client*); do 
    siege -c |NUMBER OF CALLS| -r 100 -f $f -b &
done;

我不想看到有多少用户可以同时访问我的站点,因此我希望一个页面中所有资源的统计数据作为一个整体,因为这代表了我的单个用户。因此,答案1对我没有帮助,因为它分别威胁到每个url,这就是为什么在你发表评论后我要测试静态资源3-是的,我完全理解这一点,但再次-我的目标是看看有多少用户可以同时进入我的主页,换句话说-有多少用户可以访问该页面及其所有资源