8.3.6warmweer wrote: Mon Jan 06, 2025 12:25 pm I used the testing account you supplied and posted in the problematic forum and in another forum.
The second one was almost instantaneous.
The "problematic" forum was slower, but not really problematic, about 2 seconds which actually isn't bad considering the number of images that were loaded.
What's the PHP version you're using?
Even on a new topic - with no-one subscribed?KevC wrote: Mon Jan 06, 2025 12:26 pm I wonder if you have a lot of subscribers and it has to queue up the notifications when the post happens.
I guess so - this forum has been dormant since covid and I want to reenergise it now - I'm happy to purge the subscriptions so that users start fresh.KevC wrote: Mon Jan 06, 2025 12:36 pm But they might be subscribed to the forum itself, not the topic.
Posted a couple of times more and can't really notice a difference.marksolesbury wrote: Mon Jan 06, 2025 12:30 pm You can start a new empty post and its the same - 2 seconds is quick though - I saw someone use the account and posted at the same time and I saw 10 seconds - Its odd that if I disable email its instant - If I disable email now, do you want to try again to confirm?
Code: Select all
DELETE FROM phpbb_topics_track WHERE mark_time< UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR));
DELETE FROM phpbb_forums_track WHERE mark_time< UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR));
UPDATE phpbb_users SET user_lastmark=UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)) WHERE user_lastmark<UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)) AND user_id != 1;
This removed about 400K rows, but has not improved performance.thecoalman wrote: Mon Jan 06, 2025 10:48 pm This may or may not be helpful for your specific issue but it can help with overall performance on large or old forum.
It marks all topics read for everyone older than year, the topics_track table can be particularly large and contain records 20 years old if the forum is that old. This isn't necessarily a bug but very few users ever use the "Mark X read" links that would clean it up.
Code: Select all
DELETE FROM phpbb_topics_track WHERE mark_time< UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)); DELETE FROM phpbb_forums_track WHERE mark_time< UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)); UPDATE phpbb_users SET user_lastmark=UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)) WHERE user_lastmark<UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)) AND user_id != 1;