标签: stress-testing

如何对Windows服务中托管的wcf服务进行加载/压力测试?

我们在Windows服务中托管了大约15个wcf服务.其中一些在.NET 4.0中,一些在.NET 3.5中.

我想知道如何对Windows服务中托管的wcf服务执行加载/压力/性能测试.客户端使用.net tcp绑定与服务进行通信.此外,大多数API都会为了性能而返回一个流.

我能够找到一些用于在IIS中托管的wcf服务测试的工具,但是不知道对窗口服务中托管的服务进行加载/压力/性能测试的方法.

任何帮助表示赞赏.谢谢.

performance wcf windows-services stress-testing load-testing

9
推荐指数
1
解决办法
1万
查看次数

HashedWheelTimer与ScheduledThreadPoolExecutor具有更高的性能

我想知道如果你需要在一台机器上的jvm中尽可能快地安排大量(非阻塞)任务,那么使用什么定时器实现.

我已经研究ScheduledThreadPoolExecutorHashedWheelTimer来源(+轮定时器通用文档),这里是基本的差异(N -的所有悬而未决的计划任务数到目前为止,C -车轮大小):

的ScheduledThreadPoolExecutor

  • O(log N)用于添加新任务
  • 每个计时器滴答O(1)(但每个任务勾选,所以N整体)
  • O(log N)取消任务
  • 每个刻度/任务锁定

HashedWheelTimer

  • O(1)添加新任务
  • 每个计时器滴答O(m)(m~N/C,其中C> 512),所以~C整体滴答
  • O(m)用于取消任务
  • 锁定每桶任务(每个滴答)

因此,我倾向于将硬件计时器用于这种用例,因为您必须以最小的开销快速安排任务,即O(1)用于新任务.此外,您将最大限度地减少簿记活动,因为您将获得更少的刻度(N <C)和更少的锁争用.在这种情况下,取消不是非常重要的特征

是否有人尝试过这些计时器进行类似的活动以及实际看到的结果?谢谢!

java timer stress-testing executorservice netty

9
推荐指数
1
解决办法
3062
查看次数

什么是最难呈现的 Unicode 样本?

我正在尝试实现一个跨平台(桌面浏览器、iOS 和 Android)排版系统,允许用户输入任何 Unicode 字符串。

我应该使用哪些字符串来对我的系统进行压力测试并确保最多9位用户拥有良好的体验?是否有我也可以使用的标准或事实上的标准列表?

unicode stress-testing text-rendering

9
推荐指数
1
解决办法
2179
查看次数

用于对Web应用程序进行相当复杂的压力测试的工具

我是为我们公司开发基于网络的新产品的团队的一员.虽然我们非常积极,该应用程序将完美地与我们预期的平均10-50个并发用户一起工作,我们要求确保它将继续为1000个并发用户正常工作.

我们主要关注的是从文件系统加载和显示各种文档.要获取文件,用户需要登录,导航到搜索页面,等待搜索完成,然后单击链接并等待文档加载.

我们有SilkTest/TestPartner,它可以配置为完成上述步骤,但我不相信这些工具可以实际用于模拟我们需要的负载.

你能推荐一些(最好的免费/开源)程序吗?商业产品不是禁止的,但价格不能太大:)

提前致谢!

open-source web-applications stress-testing load-testing

8
推荐指数
2
解决办法
1353
查看次数

如何使用--header选项通过Siege发送cookie?

我刚刚开始使用Siege在新的Web服务器上进行加载/压力测试.我正在尝试测试我最资源/性能最重的脚本,但脚本需要cookie.在围攻中使用--header选项的正确格式是什么?

我试过这个没有运气:

siege --header ="Set-Cookie:PHPSESSID = - COOKIE--; iptoken = - COOKIE--" http://www.myurl.com/script.php ,

我没有找到关于此的文档,因此任何想法/建议都将不胜感激.

cookies webserver stress-testing load-testing

8
推荐指数
1
解决办法
9656
查看次数

Solr Facet字段和过滤器查询之间的区别

我正在使用SolrMeter来测试Apache Solr搜索引擎.Facet字段和Filter查询之间的区别对我来说并不清楚.SolrMeter教程将此列为Facet字段的一个例子:

content
category
fileExtension
Run Code Online (Sandbox Code Playgroud)

这是过滤查询的一个例子:

category:animal

category:vegetable
categoty:vegetable price:[0 TO 10] 
categoty:vegetable price:[10 TO *] 
Run Code Online (Sandbox Code Playgroud)

我很难缠绕它.有人可以通过例子解释一下吗?我可以在不指定构面或滤镜的情况下使用SolrMeter吗?

solr stress-testing

8
推荐指数
1
解决办法
8846
查看次数

我怎么能以编程方式强调手机的CPU?

所以我把我的手机超频到了1.664ghz,我知道有些应用可以测试你的手机的CPU性能和修饰器,但我想自己做一些.真正让CPU工作的最佳方法是什么?我只是想做一个for循环做一百万次迭代做一些耗时的数学......但这不起作用,因为我的手机在几毫秒内做到了我认为......我尝试了数万亿次迭代......应用程序冻结,但我的任务管理器甚至没有显示应用程序使用的CPU.通常压力测试应用程序显示为红色并说cpu:85%ram:10mb ...那么我怎样才能真正让我的处理器认真思考?

cpu android processor stress-testing root

7
推荐指数
1
解决办法
6155
查看次数

Gatling:simulation.log文件中所有字段的含义

我找不到除了4个long之外的任何文档,它们是关于Gatling输出中的simulation.log文件的开始和结束时收到的字节.以下是日志中的示例行:

My scenario - Sync  7526052819726874465-2088    REQUEST     My Page 1404439715068   1404439715068   1404439716103   1404439716103   OK
Run Code Online (Sandbox Code Playgroud)

所有这一切代表什么?我们是否应该在Gatling文档中的某处提供此信息?

谢谢

编辑 - - - - - - - - - - - - - - - - - - - - - - - - - ---------------------

我浏览了Gatling源代码,发现FileDataWriterSpec 输出到simulation.log进行了测试.根据此规范,我们有一个RequestMessage对象 ,它用作携带记录数据的对象.根据这个类:

case class RequestMessage(
    scenario: String,
    userId: String,
    groupHierarchy: List[String],
    name: String,
    requestStartDate: Long,
    requestEndDate: Long,
    responseStartDate: Long,
    responseEndDate: Long,
    status: Status,
    message: Option[String],
    extraInfo: List[Any]) extends DataWriterMessage {
  def responseTime = …
Run Code Online (Sandbox Code Playgroud)

stress-testing gatling

7
推荐指数
1
解决办法
3910
查看次数

在NodeJS/Socket.io中对1000个用户进行压力测试?

我目前正在开发类似聊天的应用程序.有用户,聊天室,消息 - 所有这些东西.该应用程序由Node.js和Socket.IO提供支持.

不过,我有兴趣做的一件事是对应用程序进行压力测试.目前存在的测试只是一些使用1个客户端的功能测试.但是,我想做的事情就是测试1000个人同时登录应用程序,很多人进入聊天室,每个人都在那个房间里发送消息等等......

我该怎么做呢?Google搜索似乎会带来无关的结果.

我注意到有些人认为这是重复的.但是,这个问题涉及ASP.NET,并且使用Selenium是不可能的.另外,我原本打算获得涉及在node.js框架内执行特殊操作的答案.另一个开发人员(不再是团队的一员)写了一些压力测试,涉及定义一个自定义用户对象并迭代注册这些用户,加入一个房间等.这些测试是不完整的,不再可用,因为代码库中的很多内容已经改变因为他们写的.无论如何,某种方式允许以另一种方式对应用程序进行压力测试的答案是可以接受

编辑:这是我与许多用户进行压力测试的尝试.

function client() {
   // Define a testing client that responds to socket io events and the like
}

...
testers = [];
for (int i = 0; i <= 1000; i++) testers.push(new client());
// Each client connects to server with option 'force new connection: true'

it('Should login many users simultaneously') {
    // Use async.each on testers
    // Use client.login() on each client.
}
Run Code Online (Sandbox Code Playgroud)

我发现事实证明这是有问题的.登录约250个用户后,测试不会提前.这是什么问题?它可能与node.js和socket.io的限制有关吗?

stress-testing node.js socket.io

7
推荐指数
1
解决办法
4691
查看次数

FastAPI Gunicorn Uvicorn 用于使用 Google Cloud Run 进行生产部署(压力测试)

在这里我想问你,用python运行gunicorn uvicorn和从tiangolo默认运行有什么区别?

我尝试使用JMeter线程属性对这些进行压力测试:

截图来自2021-02-18 12-29-26

从这些,我得到了结果::

截图来自 2021-02-18 12-20-05

从上面我尝试过:

  1. 带有 tiangolo 基础的 Dockerfile
  2. 使用 python:3.8-slim-buster 的 Dockerfile 并使用 gunicorn 命令运行它
  3. 使用 python:3.8-slim-buster 的 Dockerfile 并使用 python 运行它

这是我的案例 1(Tiangolo 基础)的 Dockerfile:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8-slim
RUN apt-get update && apt-get install wget gcc -y
RUN mkdir -p /app
WORKDIR /app
COPY ./requirements.txt /app/requirements.txt
RUN python -m pip install --upgrade pip
RUN pip install --no-cache-dir -r /app/requirements.txt
COPY . /app
Run Code Online (Sandbox Code Playgroud)

这是我的 Dockerfile 案例 2(带有 gunicorn 命令的 Python 基础):

FROM python:3.8-slim-buster as builder
RUN apt-get update …
Run Code Online (Sandbox Code Playgroud)

stress-testing gunicorn fastapi uvicorn

7
推荐指数
2
解决办法
4982
查看次数