The performance tweak I made to the DD codebase WILL have made it look like your diary is missing some entries if you have over 250 entries in your diary. Don’t panic, all the entries are still there and I shall be investigating a better way to ensure that DD can still see all your entries in the calendar/entry list, but not perform like a dog too. I have an idea how to make it work and I’m hopeful that tonight I can implement it properly.
Looking through the logs it would appear that this performance improvement is also responsible for the Internal Server Error issue, which is certainly a plausible idea. With some diaries having over 1200 entries, and each time any page on that diary is loaded the database is being asked for ALL 1200 entries (even if only 1 of them is to be displayed!) then it doesn’t take much of a step forward to realise that the web server is going to become overwhelmed quite quickly – especially when you consider that the loading of 1200 entries is for every request – so if you get 4 or 5 people looking at the same diary at the same time, the server is loading up 4800 entries or more just to service 4 people.
I’m just surprised I hadn’t noticed this earlier – and especially since Matt and I used to go on hunts for big performance bottlenecks in the past and this one should have been found then! Ah well, such is life eh? 🙂