Archive for March, 2009|Monthly archive page

Host Migration Complete

The website migration to the new hosting provider was completed last week and since then it has been performing beautifully. NO more sql timeout errors and page load times have been consistently snappy.

Unrelated to the site upgrade, I’ve noticed a couple of problems in the application that I will be trying to fix when I have time.

  • New BCaching users getting server errors with first “My Finds” upload. This is affecting new users with finds in locations that aren’t currently in the system. When the application tries to add a new state or country it fails. After multiple attempts¬† it eventually works though.
  • Server error on an attempt to reset forgotten password. I’ve only seen one of these errors and I’m not sure what the cause is. If you’re having trouble, post a note on the forums.
  • Emailed pocket queries containing uncompressed GPX files are not processed. Although I may add support for uncompressed GPX files in the future, currently the email processor only accepts compressed ZIP files.

New Hosting Provider

I’m happy to report that I’ve selected a new hosting provider for and after some performance and “burn-in” testing the results are good!

The warm-start response times for various pages on the web site are consistently 30-40% better nearly every time and the cold-start response times don’t even compare.

This morning the old site was sluggish and timing out once again so I took the opportunity to take the site offline and migrate the database to the new database server. I brought the old web server back online pointing to the NEW database server and it appears to be running smoothly.

I still have to migrate the forum to the new site, but I should be able to finish that up over the next couple days and then I’ll update the DNS name servers to point to the new web server as well.

BCaching Release 0.4.3

This release wraps up the API changes to support readonly integration with native clients.

If you own a blackberry, you can now use the free BlackStar Navigation program for geocache navigation and get your geocache data over-the-air using your account.  See the BlackStar website for more details.

BCaching Database Timeouts

This morning I noticed BCaching was responding sluggishly (again), and the mobile find nearest page failed every time with a mysql database timeout error. After the outage had lasted over an hour I finally contacted my hosting service,, to see what the deal was.

I provided documentation from the application logs that showed database timeouts at different times over the past few months. Usually the timeouts occurred in the morning, and continued to occur for 10-30 minutes at most after I noticed the issue. Today was especially troublesome because it lasted over an hour and a half. Normally these pages respond in seconds, or less.

The chat-support person did not have the security required to investigate a database issue so a ticket was opened.

A half hour later there was still no response from tech support but at that time the database started responding within normal limits. I posted a note on the ticket to that effect.

An hour after the ticket was opened I received a response indicating that the site appeared to be working fine and could I check to make sure all was well. Since I knew it was working I referred to my previous message and asked for an explanation and since it was a recurring problem, could I get my database moved to a shared server that was a little less loaded.

Several hours later I finally got an answer: database backups. The slowdowns that occur and result in application timeouts because the database is too busy is from backups. I’m not sure why backups have to run as late as 10:30 am Eastern, but apparently they do. The complete answer is this:

Hi, I have checked the log on the server. Our server was doing backup of the databases. The server is a little slow when it is doing backup. I am sorry it cannot be avoided. We need to backup the database and it is the same on all of our servers. The speed is fine in other time. Thank you for your understanding.

So now I’m looking for a different hosting provider that knows how to manage their mysql database servers better and supports

BCaching Statistics

For those of you interested, here are some site stats.

  • 29 total users, 22 of which have loaded their “My Finds” to fully activate their account, and 16 total users which have loaded additional pocket queries.
  • 6 users actively uploading pocket queries over the past 30 days and using the site.
  • 39,155 caches.
  • 4,268 additional waypoints.
  • 230,618 cache logs.
  • 9,850 travel bugs.
  • Database size: about 130 MB

The web server response time has been pretty decent as far as I’ve seen. Most requests are processed in less than a second with cold-start responses less than 8 seconds.

The exception is when the database server is overloaded and we get database timeout errors after 30 seconds. Unfortunately, the database server is shared with other web sites and the timeout issues are not caused by BCaching so there is not that much that can be done about it right now. The timeouts seem to occur for short periods (maybe 5 to 10 minutes) once every couple of days according to the web server logs.

BCaching Release 0.4.2

Another release with some minor enhancements for your bcaching pleasure.

  • Fixed reset password email which contained an invalid URL for resetting password.
  • Moved tracking of user’s center coordinates from browser cookie to server session and persisted user settings.
  • Fixed cache field notes when entering a “Write Note” – was not saving inventory drop offs.
  • Changed order of items in trackables inventory to show oldest pickups first. Added date picked up to list.
  • Changed internal data caching strategy from grid-based to simpler distance-based strategy.
  • Added find statistics to top of Recent Notes page.
  • Moved web session state to external state server
  • Added GPX upload processing logic to better handle database timeouts.
  • First release of web service API for native clients.