You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 17, 2022. It is now read-only.
Is your feature request related to a problem? Please describe.
Current architecture of the swoole bundle expects the swoole http server process to handle exactly one request at once. I would like to enable cooperative scheduling by enabling the swoole IO functions coroutine hooks to be able to handle multiple requests concurrently, as the usage if Swoole was intended by design.
Describe the solution you'd like
The bundle should have a configuration option (e.g. cooperative_scheduling) which would enable concurrent request processing. I'm currently doing research and figuring out how to do it, I've identified these pin points:
maybe there should be some kind of concurrent request limiter implemented so php wouldn't run out of memory, but I'm not sure yet... or at least the default memory limit should be higher as usual, because in this mode, only one swoole web process should be sufficient to squeeze out the complete performance of a CPU core instead of multiple processes in the current implementation
Describe alternatives you've considered
I don't see any alternatives here, except the current implementation, feel free to discuss
Is your feature request related to a problem? Please describe.
Current architecture of the swoole bundle expects the swoole http server process to handle exactly one request at once. I would like to enable cooperative scheduling by enabling the swoole IO functions coroutine hooks to be able to handle multiple requests concurrently, as the usage if Swoole was intended by design.
Describe the solution you'd like
The bundle should have a configuration option (e.g.
cooperative_scheduling) which would enable concurrent request processing. I'm currently doing research and figuring out how to do it, I've identified these pin points:Describe alternatives you've considered
I don't see any alternatives here, except the current implementation, feel free to discuss
Additional context
Nope