gpt4 book ai didi

java - Vert.x IO 阻塞操作性能

转载 作者:行者123 更新时间:2023-12-02 09:38:21 24 4
gpt4 key购买 nike

我正在尝试运行阻塞代码,例如 Thread.sleep(100) 来模拟具有 Vert.x 1000 工作池大小的大型数据库。

val options = DeploymentOptions().setWorker(true).setWorkerPoolSize(1000);
vertx.deployVerticle(new DataBase, options)

vertx.eventBus().consumer("anAddress").handler((message: Message[String]) => {
Thread.sleep(100)
val lines = "teste do joca"
message.reply(lines)
})

但是查看 Jmeter http 测试,我只得到 10.1/秒的吞吐量。

如何在不破坏事件循环的情况下提高性能?

感谢您的提前!

最佳答案

Worker verticles 处理工作线程上的事件,但单个实例只能处理给定时间点的一个事件。因此,如果您想利用所有实例,则应部署与工作线程一样多的实例:

val options = DeploymentOptions()
.setWorker(true)
.setInstances(1000)
.setWorkerPoolSize(1000);
vertx.deployVerticle(() -> new DataBase(), options);

请注意,这里的deploy需要一个Supplier而不是单个verticle实例。

关于java - Vert.x IO 阻塞操作性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57316568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com