separate mysql from the webserver

Hello,

With interworx, can mysql run separately on a server by itself and still be utilized by customers on interworx? Or would clustering be the better option?

Im finding mysql getting taxed too soon before im running out of any of the other resources.

Thanks!

-John

Hi John,

Yes, you can configure a different server to be the MySQL server for an interworx box, the only catch is it currently requires some manual intervention to set up.

The steps are

  1. Install MySQL on the new server (if it isn’t already set up)
  2. Create a secondary “root” MySQL user that InterWorx will use to communicate with the database, and make sure this user can connect from the interworx server. You can name this user anything, but the convention is to name it “iworx”.
  3. edit the /usr/local/interworx/iworx.ini file, and change the line starting with
    rootdsn= to match the new user/server info

Note that this currently can’t be done on a per-account basis - it’s an all or nothing scenario, so any existing databases and database users would have to be migrated to the new server first as well.

You can achieve the same thing using clustering, if you leave the cluster manager out of the load balanacing policy, it in affect will become a dedicated MySQL server (among other things like NFS, etc), but you could push the web load to the cluster node, and leave the CM to do mostly MySQL work.

And just another tip, I can’t count the number of times I’ve seen a heavily loaded MySQL server’s load cut in half or better, just by the simple addition of a few indexes on certain columns in client’s custom mysql apps.

Paul

Thanks Paul.

Yup I’ve tried the indexing. Only a couple of the servers have this problem though.

ANother question - can multiple interworx servers utilize this same remote database or only 1 interworx per database?

Thanks!

Hello Paul,

Can you please answer my next question about this. Can multiple interworx servers share the same database?

yes or no is all i need.

Thanks!

Can multiple interworx servers share the same database?

Well - they could, EXCEPT, since the database names and database user names are made from the first 8 chars of the account’s domain name, if for example you had domaindomain.com on one server, and domaindomain.net on a different server, they would both try to create/manage databases starting with domaindo_*, which would cause problems.

Paul

Thanks Paul.

Issue resolved.

Hello Paul,

How well does clustering work with virtual machines attached to SANs?

Problem I am having is mostly Mysql and IO. We had a customer with popular website and poorly written SQL queries bring us a load of headaches. I am wondering if clustering will solve this problem in the future. Or should we migrate the sites to physical servers and SANs?

Lastly can clustering be setup with sites already on the vms? If so whats the best approach for this?

We currently have 2 VMs per server that has quad core XEON cpu and 8GB of ram. So each vm has dedicated 2 cores and 3.5GB of ram. 4 such servers connected to SANs via scsi channel.

I am finding existing system needs at least MySQL separated from the webservers.

Your ideas much appreciated!!

Thanks,