Slashdot Mirror


Managing Site Growth?

markmcb asks: "I started a web site about two years ago. When it began it was simple. The code was 75% hacked, and administration was easy. However, the times they are a changin'. Now I get hundreds of thousands of hits and have a steady flow of new users. I'm noticing an ever-increasing gap in terms of my site's popularity and its technological progression. Specifically, I have all sorts of 'XYZ for Beginners' books that are no longer of use to me. Even the so-called non-beginner publications seem to only scratch the surface of running a site. As problems get more complex, trying to Google every situation/issue I have with site administration has become less useful as well. I'm finding things like writing optimal code, configuring servers for high-volume, balancing ad income vs. server costs, and maximizing the efficiency from my moderation team have all become issues and that aren't addressed most books. What is the best way for a low-income, non-professional, but enthusiastic web designer/administrator like myself to manage site growth as it leaves the realm of just-for-fun?"

3 of 37 comments (clear)

  1. Hire a professional (or become one) by Jerf · · Score: 4, Insightful
    What is the best way for a low-income, non-professional, but enthusiastic web designer/administrator like myself to manage site growth as it leaves the realm of just-for-fun?
    Unfortunately, the only answers are either hire a professional, or become one.

    "Scalable" and "customized" are two things that when put together simply require a professional. And quite a lot of people calling themselves "professional" can't handle it, either.

    Now, by "professional" I don't necessarily mean a degreed guy who makes at least $X thousand a year with Y years of experience. What I mean is, you're stepping into the domain where you can't hardly acquire the experience and skills necessary with anything less than full dedication usually brought on by having a job in the relevant domain.

    There is, however, one other possibility for you to consider. If you analyze your needs and the available packages for your type of website, you may find that you can drop the "customized" aspect of it, if you can find a project close enough to your needs to require only minimal customization, perhaps even no actual code customization. Then you just need to import the data, and you will presumably have satisfied yourself that this package can meet your performance needs.

    If the website you are referring to is the "OmniNerd" site you have a link to, then I would imagine this should be feasible. There are a lot of "news" packages, free and otherwise, and at least on first blush I don't see anything particularly unique about it. It looks an awful lot like slash, although from what I've heard that's not the easiest thing to customize. (slash hackers feel free to comment.)

    Really, there's no excuse nowadays to start a new web framework from scratch, and your first impulse if your hack-job is starting to come apart at the seams should be to change to one of the umpteen bajillion tested, performant frameworks. Depending on your skill levels, which you did anything but talk up, you may even be missing basic pieces like caching, which is pretty important on a site like that. Non-professionals should not attempt to write website caching routines. Unless you want to go insane. (It's not that it's hard to write... it's that it's hard to get correct, and debugging cache problems are close to sheer hell.)
  2. Re:use others experience by Anonymous Coward · · Score: 4, Interesting

    I agree with your point, but not your example. Wikimedia is built on Mediawiki which is poorly written PHP+Memcached+MySQL saved by SquidCache. They need twice as many boxes as a well-designed architecture would need. Another bad example is MySpace which is a coldfusion/asp.net shop that add dozens of servers a day to keep up with demand. Most people estimate that they need 5 times as many boxes.

    Adding more hardware is always a way to dig yourself out of a digg, but be careful you don't just look at how the big boys do it and think that's right. Smart people can do more with less. Look to Python, Perl, C# (but not ASP.Net unless you really know what you're doing) who have mature libraries. PHP and Coldfusion suffer too much from the type of app that's built-up and destroyed on every page load. It doesn't encourage separation from what only need to be done once (app initialisation) and page response, which is a large part of optimisation (both in doing things every page load that should be done once, and seperating out the page data and having layers of cache from the DB and web-templating). Learn about http headers and SquidCache.

    So far as software recommendations I'd say Python with CherryPy and Kid Templates (but not turbogears). It's fast and simple.

  3. The Slashdot(TM) Method by identity0 · · Score: 4, Funny

    1) Have fun.
    2) Allow posting comments on your stories.
    3) When people abuse comments, put in moderation system to stop them.
    4) Hire some random writers with axes to grind, like "Geeks are oppressed by stupid conformist society".
    5) When people abuse moderation points, throw in meta-moderation system to stop them.
    6) Hype yourself up, claiming you are part of some revolution in media that will bring control to the masses.
    7) Sell out to some venture capitalists.
    8) Abuse moderation and metamoderation system yourself when comments piss you off.
    9) Cover the site in more ads than Times Square.
    10) Stop putting any effort into the site whatsoever.
    11) Let people pimp their own blogs in story submissions.
    12) Charge money to preview stories so people can read links before hordes of visitors take sites down, a problem you caused in the first place.
    13) Charge money to view the site without ads.
    14)???
    15).... profit!

    As you can see, the main goal of the Slashdot Method is to cause problems yourself, then charge people money to fix them. But remember, the most important step is to have fun! Hope you have as much success as they did!