当前位置: 首页 > 知识库问答 >
问题:

Spring WebFlux WebClient弹性和性能

上官凯歌
2023-03-14
    null

我已经用WebFlux-WebClient、Ratpack和Lagom测试了当前(阻塞)Spring boot client(tomcat)、Spring boot 2.0(netty)。在每种情况下,我都强调了客户机应用程序通过gatlinghtml" target="_blank">测试简单场景(100-1000个用户/秒)。

我已经测试了ratpack和lagom作为参考非阻塞io服务器,以便将结果与spring boot(阻塞和非阻塞)进行比较。

除了spring Boot2.0测试之外,在所有情况下我都得到了预期的结果。它只工作在小负载水平,但即使在高延迟。如果负载级别上升-所有请求都被时间分配。

WebClient用法:

@RestController
public class NonBlockingClientController {
private WebClient client = WebClient.create("http://localhost:9000");

@GetMapping("/client")
public Mono<String> getData() {
    return client.get()
            .uri("/routing")
            .accept(TEXT_PLAIN)
            .exchange()
            .then(response -> response.bodyToMono(String.class));
}
}

我不知道什么是错误的或当前快照版本只是工作。

所有来源发布于https://github.com/rutkowskij/blocking-non-blocking-poc

    null

我刚刚使用带有版本2.0.0.build-snapshot的spring-boot-starter-webflux创建了一个简单的Spring Boot应用程序,它带来了spring-webflux版本5.0.0.build-snapshot,同样适用于Spring核心、bean、上下文等。

共有1个答案

穆铭晨
2023-03-14

问题在5.0 RC4版本后不再存在。该问题与反应堆网和堆芯的连接池有关。

我还用Spring Boot2.0.0.m4进行了测试--现在看起来一切都很好。

详情:http://jira.spring.io/browse/spr-15584

 类似资料:
  • 之前我们介绍过,响应式网站设计主要包括三部分:弹性布局、媒体查询和弹性媒介。我们分别了解下这几个。 弹性布局 所谓的弹性布局,说的是在创建网站的时候,采用流体网格布局方式,动态地调整网站布局宽度以此来适应各种设备屏幕大小。 弹性布局不使用固定的测量单位,比如像素或者英寸。原因显而易见,视窗( viewport )的高度和宽度在不同设备之间是不断变化的,那么弹性网站布局为了适应这种变化,所以就不可能

  • 根据文档https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-bool-prefix-query.html相当于 是否有一个等效的查询,它等效于

  • 我正在尝试使用python应用程序(基于django)进行测试,以便能够将事务跟踪推送到Elastic APM,稍后可以使用OpenDistro Elastic中的跟踪分析工具查看。 我试过以下方法 方法1: 然后,在文件中,我添加了以下代码,以直接将跟踪发送到弹性APM。 运行代码时,出现以下错误: 方法2: 由于方法1不起作用,我尝试在两者之间使用OpenTelemetry Collector

  • 问题内容: 每次执行此查询需要200毫秒以上的时间: 但这每次在第一次查询后每次执行只需要2-3毫秒: 注意在两个查询中相同的ID值。看起来第二个查询使用第一个查询的缓存结果。但是,为什么第一个查询不能使用缓存的结果本身?从第一个查询中删除不会更改任何内容。 当我使用其他ID执行第二个查询时,第一次执行该查询大约需要40毫秒,此后每次需要2-3毫秒。因此,第二个查询不仅运行速度更快,而且还缓存结果

  • 我是AWS的新手,这个问题似乎很基本。然而,我需要看看我是否能找到解决方案。 我首先创建并启动了一个 EC2 实例,然后创建了一个弹性 Beanstalk 实例,并在该实例上部署了一个示例应用程序。默认情况下,弹性 Beanstalk 会将“默认环境”附加到此实例,我无法将其更改为我的 EC2 实例。如何将我的 EC2 实例(我之前创建的实例)附加到此弹性豆茎实例?我正在使用亚马逊免费套餐来学习。

  • 我想知道使用子句和之间的性能差异。我从他们两个那里得到了不同的时间。假设我有10个组,我想让一个用户可以访问5个组,同时排除5个组。因此,我有两种使用查询的方式: 我可以在布尔查询中使用子句,并执行。我可以再次在布尔查询中使用子句,并执行。 我在这里没有提供很多细节,因为我只是想更多地了解使用这两个术语的性能差异。我在ES文档中读到了Boolean查询,它说在子句中忽略评分,尽管我还不明白在Luc