为了账号安全,请及时绑定邮箱和手机立即绑定

Vert.x IO 阻塞操作性能

Vert.x IO 阻塞操作性能

慕侠2389804 2023-05-10 15:44:55
我正在尝试运行一个阻塞代码,比如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/秒的吞吐量。如何在不破坏事件循环的情况下提高性能?感谢提前!
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

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


val options = DeploymentOptions()

  .setWorker(true)

  .setInstances(1000)

  .setWorkerPoolSize(1000);

vertx.deployVerticle(() -> new DataBase(), options);

请注意,deploy这里采用一个Supplier而不是单个 Verticle 实例。


查看完整回答
反对 回复 2023-05-10
  • 1 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信