Posts

Showing posts with the label Process Optimization

Another server upgrade

Getting ready for the holiday season means beefing up our infrastructure around here. So, I got to order a new box for Memcached . It was even a simple server, just two dual-core processors with dual 250 gig drives from Sun running Enterprise Linux. What's fun about it, though, is that it has 32 gigs of RAM from the start (once I drop the chips into the box, anyway) and is upgradeable to 64 gigs. Now that's fun. I figure that going from the 4 gigs on one server we were running last week to 4 gigs on 3 servers we were running this week to 2 gigs on 3 servers plus 30 gigs on a dedicated box we'll be running in a couple weeks means we're going to be set for some serious growth. Now it's time to plan for a happy holiday season. At least our website shouldn't go black come black Monday.

First AJAX steps implemented

Image
I got the first step of the checkout process Ajaxified today on the live site. Because of all the issues I could cause by installing Norton, disabling JavaScript, etc. that I'm actually just giving "Helpful hints" if some input is wrong. For example, an invalid postal code or an invalid email address. Now I get to start checking for valid postal addresses and trying the same thing. A bit trickier, and a lot more possible instances. For example, is it valid, not valid, valid with multiple matches or invalid with multiple matches? Now, how do I convey all those messages? Should prove interesting.

Triple Mini

Image
Now that we're going to put our current back-end into a new site, it turned out to be the perfect time to buy another mini. We'll have two v2 minis running for ToolBarn and a v1 mini on the new site. That'll make load balancing much less of a headache. Also interesting is that they no longer include the print books with the machine, instead giving a CD with the instructions. Seems much smarter to me. Oh, and they now have a 30 day trial. Excellent. I look forward to experimenting with the price range search on the v2, so overall this should be a great upgrade. I'm pretty happy with the $2k we spent this week.

Dealing with large numbers of records in MySQL

Image
We recently got fed up with UPS's server outages (of the 2 IP's we typically use for shipping quotes, 1 was down pretty regularly for a while). So, I decided to populate our shippingrates table with all of the data we could ever need. It all went along fine, until it got to about 10M records. At that point, our site started slowing and slowing, and what I found was the keys weren't able to be used for our standard query. It wasn't that big of a deal with 100k or even 200k records, but when I got up to 10M (it's over 30M now), that caused problems. I did an alter table and made our index include one more field, and it now sorts everything the way I wanted by default. It wasn't actually the select statement causing the problem, it was the ORDER BY portion. It was having to use a filesort, which for a huge table doesn't work real quickly. What other symptoms was this causing? For one, I was seeing the time spent waiting for IO growing. When looking at the outpu...

HTTP 204 - the forgotten status

With everyone being so hot to use Ajax for things now, it seems that people forget how much simpler things can be done if you just stop and use some old-school techniques. I know I like Ajax for some things, but if it isn't necessary, then why introduce the extra bit of complexity? I'm speaking here about the 204 status code. Quoting the W3 204 No Content The server has fulfilled the request but does not need to return an entity-body, and might want to return updated metainformation. The response MAY include new or updated metainformation in the form of entity-headers, which if present SHOULD be associated with the requested variant. If the client is a user agent, it SHOULD NOT change its document view from that which caused the request to be sent. This response is primarily intended to allow input for actions to take place without causing a change to the user agent's active document view, although any new or updated metainformation SHOULD ...

Inventory Management Systems

So we've decided to start looking at new inventory management systems. We're going to take a look at the advantages / disadvantages of custom as well as the good and bad of many existing software. We haven't decided if we're moving to something new or not, but it seems like if we're not seeing what's out there we could be missing some great opportunities. Anyone with suggestions of software to look at, let me know. Comments are fine... just try to provide a URL so we can take a look at it. We're well beyond something like Quickbooks, and we realize that this probably isn't going to be cheap. But if we don't look, we won't know what we are or are not missing.

Carousels fixed

The carousels are finally working at 100%. I hope they stay that way now. If we just had more hours in the day to get everything on them now, we'd be set. That being said, we've got some inventory management issues that needed addressed as well. For some unknown reason, our system was set to throw out the largest order, then make sure we had 50% more than the second largest order in stock. For items that we were averaging a few per year without the occasional large order we now have large quantities of. What a mess. Now that we're stocking more of the first few brands, though, we're getting more orders out the door in a faster manner. There are more and more orders in stock at the time they're placed. Now, if we could just get them all pulled, boxed, and out the door same day we'd be really cool. We started looking at some of our competitors this week. Competitors? That's funny. In any case, they're selling things at a competitive price. We're paying...

The power of the carousel

We are just getting a corousel system implemented in our warehouse. After years of running around the building to fill our parts orders, it's become too cumbersome finding things. This means that we're now going to allow the parts to come to us. With a platform that raises and lowers, we'll have people waiting at the end of 70' long carousels for the parts to come to them, then light up a bin number and a quantity next to the shelf that is supposed to have parts pulled from it. That's all fine and dandy, but what's the best about this is that it becomes tougher for people to make pulling errors, so we'll not only be able to ship out more orders per day, but also have fewer errors and store more inventory. Considering that we've got well over 100% more sales than just 12 months ago, this will be important as we move forward. After getting top rankings for many of the most obvious key phrases for our site, there are still so many combinations available tha...