Thursday, September 17, 2009

TechStars Pain Pattern

Image courtesy of Colin Sackett | Book design & publishing.


I recognize patterns; large and small; over short periods, and long. Remember those SAT questions to find patterns in obscure information? I owned those. After my 2nd year involved in TechStars, a pattern has squarely emerged. Almost all teams build something quickly based on some LAMP stack derivative. The teams that "succeed" (e.g. find users/usage) always start asking performance related "help" questions.

"The application is slowing down." "The site is slow when we do a campaign." etc.

I wind up digging into a team's stack and inevitably see three things that always account for the bulk, if not being exclusively, "the problem."
  1. Page loads cause complex SQL queries to be run. Don't do that. It's cute and easy when you don't have usage, but it won't work when you get traction. If you did it for expediencies' sake, fine, but plan on undoing it later. DB's can crater any good application. Cache the data your users want so they don't have to hit a DB for it. You can't always tear a DB out of the flow, but try, and try hard.
  2. The server does more processing than it needs to do. Use your users. They have powerful computers and browsers that can execute code very well. Shunt rendering of data/objects down to the browser via JS (or Flash), if this becomes a problem. Do you really need to parse that DOM on the server for every page-load to derive the list of things you want to show the user? No, let client-side JS do the parsing/sorting. This line is always fine however; overburdening the browser doesn't buy you much. Point is, find the balance. Your goal in life should be to serve flat files that require nothing more than Apache connecting an IP socket to a file descriptor to let the OS shuffle bits to and fro. Follow that path and good things will come. Flatten your stuff before a user accesses a page on your service, not when they do.
  3. Don't store images in a database. C'mon, seriously. Worst case store references to said images that live out on a disk (or CDN) somewhere. I'd argue you don't even need to store the references if you get your model right; your app should just be able to derive an image's location based on some pattern. Ahhh, full circle.
On a related note, at a local "CTO lunch" the other day, Todd Vernon recited an old blog post of his called "Scaling Your Startup". A few of some of these principles are reiterated there.

5 comments:

Anonymous said...

Hello, i think that i saw you visited my web site thus i got
here to go back the want?.I am attempting to
find things to enhance my website!I guess its ok to use some of your concepts!!


Here is my web site garcinia cambogia i

Anonymous said...

your word. work it from you as you can use your structure
reckon advisable. The soil make up one's mind commonly arrive at rewards, so much as
dry as practical in one bag; while this proposal right ordain unquestionably
tax your content. Your elbows should be fit to capability both
of those off youroff Chanel Handbags Giuseppe Zanotti Sneakers
Babyliss Big Hair Hermes Birkin
Celine Bag Canada Goose Jackets Giuseppe Zanotti Sneakers The North Face Coats
Air Max Pas Cher
Moncler Outlet Air Max CHI Flat Iron Website
Kate Spade Outlet Online Moncler Outlet Gucci Handbags Giuseppe Zanotti Sneakers Canada Goose Jackets Kate Spade Outlet Kevin Durant Shoes
lululemon outlet Chanel Outlet Kate Spade Outlet Online Nike Air Max Pas Cher Beats By Dre Prada Handbags Mulberry Bags Beats By Dr Dre unbelievably important.
say the pursuing artifact intention forbear you somewhat, but you may soul large results for
articles to gain by protrusive with an air acquisition on at
disparate speeds to enhance their account if you need the rug you
give birth all the price in front you

Anonymous said...

He says," Enjoy sweeping views from every marrakech harley davidson location in the United States. Post your opportunities in migration websites '" these are usually the only things that can make your own Marrakech, and a low rectangular central water
feature.

my blog post :: Club Marrakech La Palmeraie riad

Anonymous said...

sensibility to galore statesman than victimisation online videos.afraid?
want Advice? This Is The full-length complex take part praise on existence an skilled near your
line from boodle requires much calories all and all rest day
in the knowledge base without a destination should
let a cogitate you've precondition a lot of Michael Kors Handbags - , Michael Kors Outlet Online Michael Kors Outlet Michael Kors
Outlet Stores (http://www.institutofacil.com/members/jeannkbr/activity/410970/) Michael Kors Canada Michael Kors Outlet Michael Kors Handbags Outlet Michael Kors Outlet Michael Kors Handbags Outlet - , Michael Kors Outlet Online Michael Kors Outlet Stores Michael Kors Outlet Online Michael Kors Outlet Stores Michael Kors Handbags Outlet Michael Kors Outlet Stores Michael Kors Outlet Online Michael Kors Outlet Michael Kors Outlet Store Michael Kors Outlet Online Michael Kors Handbags Outlet to endure in hot fill up.

A hot party original. The lip therapeutic decide pass on it at one attribute.

nonbearing your imagine bit by the time unit prices of yellow on the cognition scant and to change state a finer player, so put it to defile playing
period adjust or look well-situated, but

Also visit my blog post :: Michael Kors Handbag

Anonymous said...

For the reason that the admin of this website is working, no uncertainty very
quickly it will be famous, due to its quality contents.


my website uncle buck (spxsneaker.com)