MySQL reliability

Hi all!

I’m a potential new DreamHost customer, I must say I’m really impressed with the hosting plans and prices for the most part. Not to mention the amount of favourable things existing members have to say about the level of customer service they’ve received.

My Concern:

I’m re-vamping my existing website which employs mostly PHP and Perl scripts, with a non-transactional MySQL database. One of the requirements of my new design is transactional database support (preferrably either MySQL or PostgreSQL). Unfortunately, DreamHost does not currently support either for their shared hosting plans. I realize that this is not unique to DreamHost, most hosting companies are the same when it comes to this issue.

My question is therefore intended for veteran MySQL users at DreamHost: have any of you experienced lost connections when using MySQL with any of your pages/scripts? Those of you who are familiar with ACID will know why this is a concern for me. Basically, I don’t want to risk placing my database’s data in a “bad” state if a connection is lost for some reason. I know that MySQL in particular can be nasty when the server is under extrreme loads - previously opened connections can be “lost”.

All of my re-designed scripts (both PHP and Perl) use custom classes to re-use a single database connection for the entirety of the script, and close it when finished.

I’m not exactly sure how many queries or connections the old version of my website received, but I can tell you that at peak times I was receiving an average of 1700 page views per day according to Webalizer stats.

If enough (unbiased) people convince me that there should be no risk, then I may very well signup soon!

–Brad Barkhouse
Be a Contender!

I just had another thought. Is it possible that I could be setup with a separate mysqld instance which had the transaction-safe tables enabled? I would certainly be willing to pay extra for it, and it would prevent my site from affecting others. I can easily change my scripts to enable them to access the separate mysqld instance on any machine or port.

–Brad Barkhouse
Be a Contender!