vert.x 高负载服务器设置
vert.x setup for high load server
我有 8 个核心的服务器
在该服务器中,我每秒有 3000 个传入请求
什么设置最适合用于获得最佳性能?
new DeploymentOptions().setInstances(???);
由于我的 8 核服务器,我需要 8 个实例吗?默认为 1。
这样更好用吗:.setWorker(true).setWorkerPoolSize(???)
或者我不需要为此保留任何东西?如果我需要设置 workerPoolSize 会是多少?默认为 20.
我无法在生产中比较它,我需要对此进行预测。
非常感谢您的回答!
还有一个问题:
以下是在 vertx 管道中进行异步工作的正确方法吗?
return Future 和 Future 在 onComplete 中的管道步骤调用函数将调用 ctx.next()
如果不是,我如何在管道中间进行异步工作?
对于 8 个内核,您应该有 16 个实例。
您在使用 executeBlocking
功能吗?如果是 - 您应该将工作池大小设置为 128
And additional question: Is the following the right way to making async work in vertx pipeline? pipeline step call function that return Future and in that Future in onComplete will call ctx.next() If no, how I can do async work in the middle of pipeline?
问题没有意义。在将提供 3k rps 服务的服务投入生产之前,您应该阅读文档
我有 8 个核心的服务器 在该服务器中,我每秒有 3000 个传入请求 什么设置最适合用于获得最佳性能? new DeploymentOptions().setInstances(???); 由于我的 8 核服务器,我需要 8 个实例吗?默认为 1。 这样更好用吗:.setWorker(true).setWorkerPoolSize(???) 或者我不需要为此保留任何东西?如果我需要设置 workerPoolSize 会是多少?默认为 20.
我无法在生产中比较它,我需要对此进行预测。
非常感谢您的回答!
还有一个问题: 以下是在 vertx 管道中进行异步工作的正确方法吗? return Future 和 Future 在 onComplete 中的管道步骤调用函数将调用 ctx.next() 如果不是,我如何在管道中间进行异步工作?
对于 8 个内核,您应该有 16 个实例。
您在使用 executeBlocking
功能吗?如果是 - 您应该将工作池大小设置为 128
And additional question: Is the following the right way to making async work in vertx pipeline? pipeline step call function that return Future and in that Future in onComplete will call ctx.next() If no, how I can do async work in the middle of pipeline?
问题没有意义。在将提供 3k rps 服务的服务投入生产之前,您应该阅读文档