我正在编写一个自定义的TCP服务器和客户端,并且做了大量的请求(确切地说是60,000)我开始得到10048的套接字错误,这应该意味着 "地址已经被使用".
错误一直在发生,除非我暂停这个过程2到3分钟,然后重新开始,然后在重新启动它之后不久就开始出现同样的错误.如果我暂停客户端进程并重新启动服务器进程,我仍然会在客户端上收到相同的错误.所以这是一个完整的客户端问题.
这没有意义,但这个错误通常仅在绑定时发生,并且此错误发生在客户端而不是服务器上.可能的原因是什么?
我初始化的一小段摘录:
TcpClient client = new TcpClient();
client.Connect("XXXXX -- some ip", 25000);
client.NoDelay = true;
NetworkStream clientStream = client.GetStream();
Run Code Online (Sandbox Code Playgroud)
此外,其他一切似乎工作正常(包括来回发送所需的时间),这在使用127.0.0.1 时工作得很好,但当把它放在另一台局域网计算机上时,我开始得到10048错误.
我如何初始化它有什么问题吗?还有什么可能导致客户端的这个错误?
有没有人有负载测试ajax应用程序的经验?专门运行jQuery作为他们的JavaScript库?
Loadrunner和Neoload是在gui层上运行的两个负载测试应用程序.但是没有人支持jquery库.
至于其他负载测试工具,如jmeter,grinder和其他http层工具.他们只是不切割它,因为您需要在测试中维护应用程序逻辑.
然而,Selenium使用真正的浏览器,结合selenium网格可以选择(也可以看www.browsermob.com),但是再次在本地安装测试环境需要大量的硬件.
使用sitecore预取缓存的最佳方法是什么?鉴于一个独立的Sitecore服务器与本地SQL Server,8gb ram和2,000个内容项,我是否应该预先预先获取大量网站内容,前提是假设批量加载项目更有效?为了更清晰的场景,假设预取所有2000个项目将占用2gb,如/sitecore/admin/cache.aspx所报告的
此外,与所需大小相关的配置预取高速缓存大小是否也会影响性能,即如果设置大于所需大小3倍,与设置为1.1x所需大小相比,是否会导致性能损失?
我将用jmeter设置一些负载测试测试.但是,我在网上找不到什么是好的替补标记.好有多好?
我的网站平均每天约80,000.
从访问日志中挖掘出一些数据1个月后,我设法找出:
平均低流量约为1个请求/秒平均中等流量为30个请求/秒平均高流量为60个请求/秒
我推出了以下计划来测试8种页面,它是单页加载的理想平均响应时间:
模拟平均流量场景 - 10次请求/秒测试
模拟中等流量场景 - 30次请求/秒测试
模拟超高流量场景 - 100次请求/秒测试
模拟攻击场景 - 350请求/秒(基于MYSQL最大连接500)
在运行这些测试时,我计划监控以下内容:
要查看它的内存和CPU利用率是多少,以及是否需要增加RAM,CPU等......另外我将MySQL Max连接限制为500.
在所有测试中,我预计响应时间应理想地低于10secs的上限基准.
这听起来怎么样?我没有可以遵循的SLA,这只是基于对当前网络流量的研究以及计划的出台.问题是我不知道服务器的阈值是多少.我相信下面的硬件应该已经超过托管我们页面所需的内容.
Web服务器正在运行:8GB RAM,4个Core(1个服务器,另一个冷备份服务器无负载均衡器)MySQL Server正在运行:4GB RAM,2个Core.
我们计划迁移到云,因此理想情况下需要通过此负载测试找出最适合我们场景的实例.
非常感谢这里的任何好建议..
什么是要做?
我们在Sharepoint(公司)服务器上部署了一个应用程序,它使用Windows凭据登录应用程序.
Windows凭据格式:user_id@domain.co.in
目标是对这样的n个用户执行应用程序的负载/性能测试(尤其是登录功能).
通常,当我点击Firefox/IE中的应用程序URL时,会弹出一个窗口询问凭据.我输入凭据,浏览应用程序然后注销.我打算在JMeter中捕获它并为大量用户模拟这个.
我被困在哪里?
现在我启动JMeter代理服务器,然后尝试与上面相同的步骤.但是当弹出窗口出现时,JMeter根本不会记录它,也不会在登录后记录任何其他内容.
我试过了什么?
如果我在IE中启用"自动检测Intranet网络"后尝试相同的步骤,那么它只是自动检测我的Windows凭据(没有凭据弹出),将我登录到应用程序(这也没有记录在JMeter中)并带我到主页.之后我点击的任何页面都会记录在JMeter中.
我还尝试使用以下参数使用HTTP授权管理器:
它没有帮助.我对如何使用上述元素感到很困惑.甚至不确定它是否是一个正确的方法来解决我的问题.
任何帮助/建议?
PS我知道一个名为Badboy的工具,但必须将其作为最后一个资源.甚至还不确定它是否记录了弹出窗口.对不起,如果帖子很冗长.
更新:
我也尝试过 -
Username: USER_ID and Domain: my_company_domain
Run Code Online (Sandbox Code Playgroud)
但这不是实际问题.问题是,当我尝试点击我之前记录的页面(自动化)时,即使我没有使用HTTP授权管理器,也会返回成功响应.我不确定我错过了什么.
automated-tests ntlm jmeter windows-authentication load-testing
我有两个问题:
我最近开始加载测试我的webapp.
我用apache访问日志采样器.我按照本教程.
https://jmeter.apache.org/usermanual/jmeter_accesslog_sampler_step_by_step.pdf
我能够使它工作.但现在问题是我在不到10分钟的时间内重播了所有的请求.
我希望jmeter根据发布get请求的时间戳运行get请求.
我无法在线找到任何此类配置.
我可以编写脚本来卷曲特定时间戳的get请求.但我想用jmeter.
可能吗.
编辑
我创建了一个带有以下行的示例csv文件:
0,/myAPP/home
5000,/myAPP/home
5000,/myAPP/home
Run Code Online (Sandbox Code Playgroud)
首先我创建了一个线程组,如图所示:

在这里,我永远选择循环计数.如果未选中,则只有csv文件中的第一行正在运行.这些行没有运行.
现在我添加了csv数据集配置,如图所示:

现在我添加了常量计时器,如图所示:

现在我添加了HTTP请求,如图所示:
我添加了视图结果树监听器并点击了播放按钮.
当我看到每个样本的视图结果树中的示例开始时,延迟不是根据csv文件中存在的延迟.我究竟做错了什么.
EDIT2 我将常量计时器作为HTTP请求的子进程.请在下面的屏幕截图中找到请求的时间.你看错了吗?

EDIT3
我遵循bean shell timre方法,当延迟大于之前的响应时间时,它工作正常.但是,当前一个响应时间大于延迟时,它无法正常工作.
我修改了csv文件如下(减少延迟到100毫秒)
0,/myAPP/home
100,/myAPP/home
100,/myAPP/home
Run Code Online (Sandbox Code Playgroud)
我删除了常量计时器并添加了下面的bean shell计时器.

这是结果表:

这些是日志行:

我正在使用jmeter测试我的REST API为10000点击,其中每个http命中将在DB中存储一些数据.我遵循了以下测试计划
我正在并行运行10个线程,每个加速时间为20秒,并且循环1000以实现相同的效果.
但这里的问题是我的线程没有采取独特的数据集.而我的后端HTTP URL期望每个http匹配的唯一字符串.
现在我尝试了以下方法.
单个CSV数据集配置具有10000个唯一值,并且线程组中的所有线程都在读取相同的数据.
为每个线程设置不同的CSV数据,并使用文件名$ {__ threadNum} .csv为线程分配csv文件
使用jmeter _RandomString方法在运行时为每个http命中生成随机字符串,在http post body中我正在传递
{"tenantName":"$ { __ RandandString(15,abcdefghijklmnofqrst1234567#@#%^&*,)}"}
现在上述方法都不适合我.在一段时间后运行测试计划时,2个线程正在尝试使用相同的数据并点击我的HTTP URL.我从http响应中收到冲突错误.我的错误计数不断增加.
现在我真的不明白这两个人试图用同样的数据打击http怎么样?
有人可以解释一下这个问题并帮我设置正确的测试计划配置.
编辑:
所有线程的CSV数据集配置:
HTTP请求:
使用CSV数据集添加测试计划:
有没有办法在vegeta中更改json正文,在vegeta中进行请求后负载测试。
我想在json主体中为每个请求发送带有不同参数的请求。例如,如果我有
POST https://endpoint.com/createNew
@/targets/data.json
Run Code Online (Sandbox Code Playgroud)
和data.json看起来像
{
"id": 1234
}
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么,使攻击中的每个请求都有不同的请求数据?
我正在表演Load-tests一些Rest APIs使用Locust。除了使我感到困惑的错误外,其他所有东西都工作正常:
ConnectionError(ProtocolError('Connection aborted.', BadStatusLine("''",)),)
Run Code Online (Sandbox Code Playgroud)
我已经阅读了有关此问题的其他问题,并发现以下事实:
当python无法理解服务器响应时,会出现此错误。
我想知道的是:
1)如果此问题与服务器有关,可以采取什么措施?
2)这个问题是由测试的故障代码引起的吗?
我想知道此错误是由于test写入错误Locust或服务器出现故障。如果我不清楚的话,请告诉我。
load-testing ×10
jmeter ×4
java ×2
performance ×2
ajax ×1
amazon-ec2 ×1
amazon-elb ×1
amazon-rds ×1
c# ×1
caching ×1
jquery ×1
locust ×1
networking ×1
ntlm ×1
python ×1
python-2.7 ×1
sitecore ×1
sockets ×1
testing ×1
vegeta ×1