簡體   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