May 17, 2017 in Technical Problems
I have the following scenario:
Hosting two v22.214.171.124 boards on the same VM (I additionally control the host):
Board 1: 2,119,338 posts, 22,029 members, but average online members would only be 50-100. Converted from vBulletin ~2 years ago. Running Nexus/Commerce.
Board 2: 186,565 posts, 254 members, average online members 10. Converted from phpBB2 ~3-4 years ago. Not running Nexus/Commerce.
On Board 1, post replies to threads are slow. Can take several seconds to "submit" - eg:
Everything else is instant, or close enough too it. Creating a new topic:
Replying to that topic (causing a merge):
On Board 2, everything is instant including replies. I realise Board 2 has a lot less content, but my Board 1 has a lot less content than other boards out there (including this one) which have better reply performance. Does anyone have any ideas on what I could check?
Dedicated VM. 16gb memory, SSD storage, 6 core Xeon. Ubuntu 17/nginx 1.10/php7.0-fpm/MariaDB 10.1.
Database tables are a mix of Aria/InnoDB, but are the same across each board. Board 1 was all InnoDB (except where Fulltext was needed) until recently, I converted most of them them to see if it would improve this problem but it made no difference to any speed that I can humanly tell. VM is never under any serious load, and there's never any storage latency. This issue has really persisted over multiple hosts/OS builds, so I'm relatively confident it's not an environmental issue.
@jair101 mentioned thread subscriptions and email load could be an issue. I'm using Mailgun via SMTP for both boards, but obviously Board 1 by it's nature has a lot more people subscribed to threads. Is there a way to offload email sending to a job that's run via cron?
To properly confirm that mails could be the issue, is everything OK when you reply to small topics with no subscribers? And I am not talking about the merging of consecutive posts, but posting after another user in a small topic. Do you have also issues with liking a post or just with replying?
Check out my topic, describing almost the same behaviour:
Maybe you should switch from mailgun to another provider, just for test? I didn't had problems with sendgrid.
Thanks @jair101, I did some extensive testing and I think you're correct. If I only reply to threads with a small amount of followers the reply is nearly instant.
Unfortunate, I don't really want to change email providers. A feature request for future versions to offload the sending of emails to a queue is the way it should be done.
Have just tried using the SendGrid API, no major difference. I have some geographical challenges in that my forum is hosted in New Zealand, so all of these major email providers are relatively high latency away (100ms+).
Another option I guess is if you can setup your own mail server and send directly from it, but this can be tricky.
Yeah, I do agree that emails should be queued and not send immediately.
Thanks for your input. I'll take a look and see if I can use sendmail locally, and have that queue and forward to Mailgun via SMTP. Will be a relatively complicated solution to meet best practice email sending, but I might be able to get it to work.
I've additionally posted in the Feedback & Ideas section:
This topic is now archived and is closed to further replies.
Started February 20
Started February 16
Started Yesterday at 01:16 AM