iproto: implement ability to run multiple iproto threads
There are users that have specific workloads where iproto thread is the bottleneck of throughput: iproto thread's code is 100% loaded while TX thread's core is not. For such cases it would be nice to have a capability to create several iproto threads. Closes #5645 @TarantoolBot document Title: implement ability to run multiple iproto threads Implement ability to run multiple iproto threads, which is useful in some specific workloads where iproto thread is the bottleneck of throughput. To specify count of iproto threads, user should used iproto_threads option in box.cfg. For example if user want to start 8 iproto threads, he must enter `box.cfg{iproto_threads=8}`. Default iproto threads count == 1. This option is not dynamic, so user can't change it after first setting, until server restart. Distribution of connections per threads is managed by OS kernel.
Showing
- .luacheckrc 6 additions, 0 deletions.luacheckrc
- changelogs/unreleased/several-iproto-threads.md 5 additions, 0 deletionschangelogs/unreleased/several-iproto-threads.md
- src/box/box.cc 1 addition, 1 deletionsrc/box/box.cc
- src/box/iproto.cc 490 additions, 239 deletionssrc/box/iproto.cc
- src/box/iproto.h 4 additions, 1 deletionsrc/box/iproto.h
- src/box/lua/load_cfg.lua 2 additions, 0 deletionssrc/box/lua/load_cfg.lua
- src/box/lua/stat.c 2 additions, 4 deletionssrc/box/lua/stat.c
- src/lib/core/errinj.h 1 addition, 0 deletionssrc/lib/core/errinj.h
- test/app-tap/init_script.result 1 addition, 0 deletionstest/app-tap/init_script.result
- test/box/admin.result 2 additions, 0 deletionstest/box/admin.result
- test/box/cfg.result 4 additions, 0 deletionstest/box/cfg.result
- test/box/errinj.result 1 addition, 0 deletionstest/box/errinj.result
- test/box/gh-5645-several-iproto-threads.lua 17 additions, 0 deletionstest/box/gh-5645-several-iproto-threads.lua
- test/box/gh-5645-several-iproto-threads.result 162 additions, 0 deletionstest/box/gh-5645-several-iproto-threads.result
- test/box/gh-5645-several-iproto-threads.test.lua 96 additions, 0 deletionstest/box/gh-5645-several-iproto-threads.test.lua
- test/box/suite.ini 1 addition, 1 deletiontest/box/suite.ini
Loading
Please register or sign in to comment