Jump to content

Split mysql reads/writes to different servers


Guest Deco20

Recommended Posts

Posted

There are so many variables that attribute to the performance and "load" of a forum, it's very difficult to benchmark with a practical degree of accuracy. For example, we host very large "hobby" sites that outperform other clients such as a major sports team's fan sites on load balanced clusters. The hobby site has more members, posts and even activity at times, however, the fan site users are.... fanatical. They refresh every second or two (literally) waiting for new content, do a lot of searches to find updated content, etc. What your users are doing is often more important than the number of concurrent users.



There's also certain modifications that may seem minor that can significantly reduce performance. Ask bfarber about that one. ;)



Ultimately, while you should be able to establish a rough baseline - not all forums are equal and will perform differently using different functions under different circumstances.

By the way that's my case. I've got a sports related website hosted in 5 servers. On of the future problems I will have is that I do load balancing with the static content, the scripts, etc. but the database of the forum is in a "big" server and I'm afraid I will not be available to use mysql cluster to make load balance because no software forum seems to be ready to split writes and reads.
Posted

I have a modification, a really easy one, that splits writes to one database and reads to another. :)

In fact, I think I'll go post it on the resource site right now.

I also have a modification (again, stupidly simple one) that allows you to specify multiple database servers in conf_global.php and one will be picked at random (kind of like pseudo-load-balancing, but all reads/writes are sent to whichever one is picked and it would be up to you to ensure the data is propagated to the other databases properly in this instance).

Posted

IIRC, it's also possible to setup Master-Master replication with MySQL, but from a complexity perspective it's probably easier and better to simply split reads/writes at the application level.

Posted

Yeah, it's not something we get into much. It's not OVERLY common to require replication stuff at the MySQL level (we've generally found it more necessary to load-balance Apache), but the article is there for anyone wanting to play around with it. :)

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...