A character with thousands of items or mails piled up, or an unusually large friend list, block list, or set of buffs, has several times more to load, save, and announce to nearby players than others. It’s slow only on that character, regardless of connection.
Why Thousands of items or event rewards pile up in the inventory and mailbox of a long-played character → Effect Every login, zone move, and save reads and writes that much from the DB, and the equipment and buff data sent to nearby players is large too → On screen Only that character has long loading screens and hitches when opening the inventory or mail. On a server where the game thread waits on saves, nearby players freeze briefly too
Right after login or maintenance, During specific actions, While moving or changing zones
Owner
Primary owner Game team (Server development) · Also Infra team (DB infrastructure)
Game team action items
Cap inventory and mail storage and auto-clean old mail, load only the parts you need in pieces, save only what changed and do it off the game thread.
Infra team action items
Find slow queries that repeat for the same character in the slow query log and pass them to the game team, provide a top list of characters with the most item and mail rows.
Ballpark numbers
If one item is one DB row, a character with 5,000 items reads 5,000 rows on every login. That’s tens of times more than an ordinary character.
On the graph
Outliers only · Login and save time per character, DB rows read per character
Where to look
Slow reads and saves that repeat for the same character ID in the DB slow query log (MySQL slow query log, PostgreSQL log_min_duration_statement), plus a top list of per-character row counts in the item and mail tables
Confirmed if
Slow queries concentrate on a few character IDs, those characters have tens of times the average number of item and mail rows, and it’s just as slow from another PC or connection
Ruled out if
Other characters on the same account or other players are slow too: DB hardware or locking. The character is fine on another PC: the player’s environment
Check with
Infra tools (no game code needed)
Learn more
If the same character is just as slow from a different PC and connection while other characters on the same account are fine, suspect the character data. That’s why reports need the character name.