One of my “many” hosting customers was mentioning that when he logs into his site, he sometimes sees an error. Well, it turns out I would sometimes see that error and he mentioning it inspired me to look into it. It comes down to speed. I have my admin stuff hosting on google app engine and it talks to my backend via web service. Turns out that google doesn’t want to host slow serving pages, meaning pages that take more than like five seconds to load. And it turns out that my web service would sometimes take more than five seconds. There were a couple issues.
- Memcached helps me not hit the database. I used to have servers at 10.1.1.1 and 10.1.1.2. A little while ago I quit running the 10.1.1.2 server, but was still checking it in the code. Think I would hit some timeout which wasn’t too long, but it slowed me down enough to annoy google.
- Memcached is all about what the memkey is. You look up values based on a memkey. Well, I call it memkey anyway. For me, if the memkey doesn’t return something, I hit the database and then add the memkey. Well, in my code for getting a user’s configuration, I had hard coded $memkey = time, which means that each time the code ran, I would fail to get the conf. I guess that someday in the past I wanted to generate the conf each time, and then just happened to commit. Oops.
- Added an index or two to mysql, but don’t think that helped too much.
I am afraid that folks would try and login, get an error and give up. For sure they wouldn’t likely tell their friend to come sign up for a site.
Enjoy!
Earl