[英]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.