Fix Swoole in-memory timer table size #819
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The current implementation of the timer table starts to throw some insufficient memory errors when there are a lot of workers ~200 and when all those workers are processing requests at the same time (as reported at #648).
The #650 PR introduced the
max_timer_table_size
undocumented config value so we can control the timer table size manually to avoid this problem.However, ensuring the $size passed to the table creation will guarantee the desired number of rows (with #818). We can now use the number of workers to define the timer table size and get rid of the undocumented manual parameter.