#1728 mod_tombstone: inefficient I/O with internal storage
Reporter
MattJ
Owner
MattJ
Created
Updated
Stars
★ (1)
Tags
Milestone-0.12
Status-Fixed
Type-Defect
Priority-Medium
MattJ
on
What steps will reproduce the problem?
1. Use mod_storage_internal (default)
2. Enable mod_tombstones on a busy server
What is the expected output?
The server should function normally.
What do you see instead?
Prosody consumes a lot of CPU/IO. This is caused by mod_tombstones using a map store, and checking it on almost every presence stanza.
Although adding storage access on every presence stanza will degrade performance for SQL, map stores are particularly inefficient with internal storage (where a shim is used that loads the entire tombstone list to retrieve a single key).
What version of the product are you using? On what operating system?
Prosody 0.12.0
Please provide any additional information below.
What steps will reproduce the problem? 1. Use mod_storage_internal (default) 2. Enable mod_tombstones on a busy server What is the expected output? The server should function normally. What do you see instead? Prosody consumes a lot of CPU/IO. This is caused by mod_tombstones using a map store, and checking it on almost every presence stanza. Although adding storage access on every presence stanza will degrade performance for SQL, map stores are particularly inefficient with internal storage (where a shim is used that loads the entire tombstone list to retrieve a single key). What version of the product are you using? On what operating system? Prosody 0.12.0 Please provide any additional information below.
Fixed in https://hg.prosody.im/trunk/rev/a698f65df453 for 0.12.
Changes