Updates:

Many new features now available including 2-Factor authentication

[RESOLVED] Forum Problems

Started by goldendragonuk, March 13, 2010, 07:25:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

goldendragonuk

As i didn't see a Bugs Forum (maybe good idea to add one :) ) thought id post this what happened after submitting thread also happened during register phase just hitting refresh should fix it. I'm aware your testing new forum software but though should give heads up.

View Image Attached.



Mad Penguin

Interesting .. this is an issue with SMF's caching system .vs. our load balancer.  I have seen it before but thought the last fix dealt with it .. obviously not!

Many thanks for reporting - will look into it.
https://twitter.com/garethbult
https://gareth.bult.co.uk


Mad Penguin

Ok, the problem seems to stem from SMF caching local sessions on the filesystem. Because the system is load balancing over multiple servers, writes need to flush to the filesystem before the next server tries to read them .. typically this error will show because one server writes preference changes or a post, then calls a redirect to reload the page .. which then typically loads from another server which gets it's read operation in before the back-end has sync'd the write.

I don't think this is down to the filesystem, purely an SMF local caching issue, I'm guessing the local cache isn't calling 'sync' when in this sort of environment it's really not safe to skip it. Anyway, I've just added "memcached" to the PHP servers and added this into the SMF mix .. it seems to have taken and should remove the local SMF cache from the pot .. so  if I'm right, problem solved .. if it happens again, we can discount the local SMF cache.

AND, it should be a little bit quicker because of "memcached" , not that it was slow or anything ... but ... :)
https://twitter.com/garethbult
https://gareth.bult.co.uk

Mark Greaves (PCNetSpec)

He also reported to me that last night he was getting a LOT of page timeouts, I meant to email you but forgot... I wasn't getting any, so the problem may have been at his end.
WARNING: You are logged into reality as 'root'
logging in as 'insane' is the only safe option.
pcnetspec.co.uk

Mad Penguin

Timeouts unlikey to be the same issue - this problem will be limited to page refreshes following a write operation.
It won't cause a problem if you're just browsing.
https://twitter.com/garethbult
https://gareth.bult.co.uk


Mark Greaves (PCNetSpec)

Agreed... I only noticed this problem immediately after uploading a posting, and even then rarely.
WARNING: You are logged into reality as 'root'
logging in as 'insane' is the only safe option.
pcnetspec.co.uk

kirrus

Quote from: Mad Penguin on March 18, 2010, 04:55:36 PM
Timeouts unlikey to be the same issue - this problem will be limited to page refreshes following a write operation.
It won't cause a problem if you're just browsing.

Can you not make loadbalancing 'sticky', so you stick on one of the web-server's for a while once you've visited one, unless it's down, in which case it puts you on the other one?

Mad Penguin

Mmm, I'm sure you can .. you're thinking of Apache tho'...

We used to use this for getting around crappy session sharing in Plone .. SMF doesn't have the same sorts of issues as it shares sessions via MySQL, the issue is actually in the internal SMF page cache. In this instance, sticky sessions are actually bad because they break load balancing .. you could for example end up with three concurrent users all stuck to the same processing server when other servers run idle.

lighttpd on the other hand (so I read) does dynamic load balancing based on system load and number of executing queries, which means not having sticky sessions can be very beneficial in terms of overall performance and could easily increase the capacity of the overall platform by x2 or x3. At the moment the platform is serving Wordpress, SMF and Sugar quite happily, be a shame to unbalance it just to cope with a shortcoming on one application .. :)

https://twitter.com/garethbult
https://gareth.bult.co.uk

kirrus

Aye, forgot you were using that apache module thingywatzit

We use ldirectord, which has some interesting loadbalancing :)
Can't really give all the secrets to our clusters away though ;)