繁体   English   中英

Vert.x IO阻止操作性能

[英]Vert.x IO Blocking operation performance

我正在尝试运行一个阻塞代码,例如Thread.sleep(100)以模拟Vert.x 1000 Worker池大小的繁重数据库。

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 / sec。

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

感谢前进!

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

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

请注意,这里的deploy采用Supplier而不是单个垂直实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM