Posts Tagged ‘performance’

GoDaddy as a webhost

Tuesday, February 1st, 2011

I’ve recently been poking around on a Q&A site, and stumbled upon a question about GoDaddy hosting. Since I’ve had some experience here, I answered. The answer was so long and detailed, I thought I’d save it for posterity here.

I’ve had good and bad experiences with GoDaddy hosting. My clients choose their own webhosts. I’ve probably worked with about a dozen clients on GoDaddy (shared) hosting. I work primarily in LAMP development, so the following comments apply only to the Linux servers.

The pros:

  • Their control panel tools are fantastic. You have 30 days of snapshots of your entire site if you need to roll back a filesystem, and it’s easy to pick and choose selections from an old snapshot to update. Very comprehensive.
  • The telephone support is 24-7 and it’s not just some guy reading a script. Most of the support guys I’ve talked to are pretty good, stateside folks who will really help you find a solution if they can. I’ve had a few disappointments in the past, but they’ve really stepped it up recently.
  • their new GridServer shared hosting, while still shared, is load-balanced for a better response time.
  • If you have domains with them, the DNS manager and connecting to the hosting is super painless.
  • They are inexpensive for what you get.

The cons:

  • Support and sales are the same thing. Sometimes it feels like the support solution is to sell you something else.
  • The older “legacy” shared servers are slow as molasses.
  • There is some kind of disconnect on some of the sites I admin with the database. The filesystem comes up likety split, but any mySQL queries hang, sometimes up to 20-30 seconds.

Overall, they are in my top 5. As far as security goes, it’s hit or miss. With any shared server, you are only as secure as the guy with the password “password”, but GoDaddy seems to have some protocols in place for that that many discount hosts don’t (proper chrooting, etc.)

Other hosts I’ve worked with and liked:

  • Deep Discount: BlueHost, JustHost, HostGator — don’t expect a lot of support here, just basic hosting at a redonkulously low price
  • Moderate/Small business: Rackspace, MediaTemple — A little more for your money, although we did have a nasty rash on one of the MT shared servers earlier this year. Shared == vaunerable in any situation. If you can pony up for a VPS or a “Slice”, it provides superior performance and security (for a price) RS, GD & MT all offer VPSes.

Performance & Environment with Magento

Monday, June 29th, 2009

Last week, I posted about my experiences with Magento as a product. Today, I’d like to cover some of the interesting performance issues I’ve experienced and the ways I’ve worked around them.

I’ve published Magento in a few different environments, some for development (testing), others for production (live!).

Geeks will want to know that having root (full administrative control of the server) certainly helps, but is not required. Mostly, the joy of root in this situation is that it makes creating backups (via tar) and updating (which means doing some chmod dances) much simpler. Obviously, if you have an SSH user, you can do these things as well. However, if you can live with having your files 777, it’s really not that big of a deal. Magento is big, so backing up via FTP will take a long time, but it’s hardly impossible.

My preferred environment is a LAMP (Linux/Apache/MySQL/PHP) stack where I have root. I’ve deployed several development models and a few production models this way, and they worked like a dream. I have deployed Magento on MAMP (the app), MAMP (MacOSX/Apache/MySQL/PHP compiled, not the app) and WAMP (WindowsXP or Windows Server 2008/Apache/MySQL/PHP for various tests and development. This was less satisfactory, but worked. The MAMP application really didn’t like it, and required a bit of tweaking to get it going, but I don’t see MAMP as a viable production option anyway. (I’ve never had reason to try MAMP Pro.) Most recently I installed it in a shared LAMP server with a Plesk control panel. There were a few minor challenges here, but I was able to work with tech support at the host to get them resolved quickly.

For the average non-geek, it’s probably helpful to know that a LAMP stack is an extremely common shared hosting environment. Because it is inexpensive to set up and stable (low maintenance) almost every hosting company offers this package, and it is quite often their lowest priced option! So getting Magento to run on your site should not be a difficult task for a developer familiar with Magento.

I’ll admit that the first couple of instances of Magento I installed, I was very disappointed in how SLOW it seemed. It was as though the big giant toolbox was just too darn heavy and slowed everything down. Adding new products was a chore and surfing the site was a less-than-ideal situation. But then I discovered a few little tricks to speed things up. If you are installing Magento for the first time, you might find this information helpful.

Because Magento compiles each pages from dozes of files on each page call, performance with Magento has to do with both the environment its hosted on and with caching options. As I noted before, you want caching off during development. But once that puppy is ready for production, turning caching back on will dramatically improve time to serve pages. There are also options to cache javascript and css, like Fooman Speedster, which make things even faster. Of course, the mySQL query speed is going to matter, but the Mage engine seems to do a pretty good job of compiling requests. There is a developer option available to display the performance stats for each page draw in the page footer which can be helpful to tweak and optimize certain things. there is much to learn and try when tweaking for performance, and a good place to start learning is here: Magento performance and optimization group .

After receiving a scary email from ZenCart yesterday, I’m even more inclined to choose Magento for an out-of-the-box good solution that is very customizable. If properly done, it can be customized heavily and stay upgradable. I’m looking forward to my next installation, which should be happening in the next month!

PS: Some readers found this information daunting. This is why Magento works best when implemented by someone with development experience. At the Mad Science Department, we enjoy developing Magento solutions and handling all the scary bits so that our client agencies don’t have to! We are kind of…um…Mad that way.