We also have some users with >15MB json files (big calendars). It creates warning but I'm not sure it has a real performance impact though.
You can set calendar autoclean to 12 month or so it cleans old entries, but some customers might want to keep the history of their appointments for more than 1 year.
Using another format for storing calendar items could be an idea, but it should be a format that we can open/read without proprietary tools (not like .sbin files for example). Maybe SQLite DBs. Not sure it would be performing better than raw json files though.
Sébastien Riccio
System & Network Admin
https://swisscenter.com