我正在嘗試運(yùn)行一個(gè)阻塞代碼,比如Thread.sleep(100)模擬一個(gè)重型數(shù)據(jù)庫,其工作池大小為 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 測(cè)試,我只有 10.1/秒的吞吐量。如何在不破壞事件循環(huán)的情況下提高性能?感謝提前!
1 回答

HUWWW
TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
Worker Verticles 處理工作線程上的事件,但單個(gè)實(shí)例只能在給定時(shí)間點(diǎn)處理一個(gè)事件。因此,如果您想利用所有實(shí)例,則應(yīng)部署與工作線程一樣多的實(shí)例:
val options = DeploymentOptions()
.setWorker(true)
.setInstances(1000)
.setWorkerPoolSize(1000);
vertx.deployVerticle(() -> new DataBase(), options);
請(qǐng)注意,deploy這里采用一個(gè)Supplier而不是單個(gè) Verticle 實(shí)例。
添加回答
舉報(bào)
0/150
提交
取消