Slashdot Mirror


Migrating from Mambo to Another CMS?

Pikoro asks: "I put up a website a while back for personal use and I have been using Mambo to keep the site in order. One problem though. It seems that Mambo is not all that scalable. The website I started in January now gets almost 20,000 unique users a day and Mambo is very SQL heavy. The database is running on a P4 2.4Ghz machine with 1Gb of RAM, and the database server is on it's knees. Do I need to just upgrade the database server, optimize the MySQL installation, or switch to another CMS system. I would prefer the latter since I have had issues with Mambo and wanted to move to more of a weblog style format. Was considering Slashcode as well. Any ideas would be greatly appreciated."

8 of 52 comments (clear)

  1. Evaluate, evaluate, evaluate. by billn · · Score: 4, Informative


    You're going to see the same problems with any CMS. *ALWAYS* tune your database first. Then decide if that's really your problem.

    Not all CMS schemas are good. Not all come with indexing that makes sense for the usage. Most don't do any tuning of your database parameters, either.

    Here's a subtle hint that will probably help:
    set global query_cache_size = 1000000;

    --
    - billn
    1. Re:Evaluate, evaluate, evaluate. by billn · · Score: 4, Informative

      Just to throw some more light on what this does and how it helps. The query cache stores queries and result sets for tables that haven't changed. By allotting an amount of RAM to hold this, you can serve query results from the cache faster, since the DB only needs to look at the last modified timestamps on the tables involved in the query (a sweet time saver for complex joins on reference tables).

      mysql: show status
      Variable_name Value
      Qcache_free_memory 978408
      Qcache_hits 3603029
      Qcache_inserts 153341
      Qcache_queries_in_cache 2

      Hits greater than Inserts. The bigger that disparity, the more your query cache is working for you. 2 queries in my cache are saving me 3.6 million full queries. I'm bad at math, but..

      --
      - billn
    2. Re:Evaluate, evaluate, evaluate. by proudlyindian · · Score: 2, Informative

      I run a http://amitkulkarni.info/cms/ site on shared server and get around same 20000 visitors/month ... I use drupal and its fantastic .. i use a shared server.... i did evaluate months back and it boiled down to plone and drupal .. plone has a steep learning curve with many new things to learn.

      drupal is php + mysql.

      Drupal is truly out of the box, 1 sql installation query and admin password and ur standard site is up and running. couple of links and ur right left top bottom navigation is filled.

      It has builtin modules + addon modules like (guestbook, polls, blogs, custom content type) which are up n running in 3 clicks and firing an SQL query.

      And all this time i havent opened a single php file for editing !!!

      Their node concept is v powerful. basically a node is a content type presentation.

      They have search engine friendly URLs

      Almost all CMS have these features but i found drupal super simple to configure.

      Their documentation is exhaustive too

  2. Re:Changing to another CMS by enrico_suave · · Score: 3, Informative

    "Wouldn't changing to another CMS possibly cause you to lose readership? Seems like just upgrading the server is the way to go."

    I ASSume he'd import/export over the old entries/articles to the new CMS, and probably create some apache url rewrites to make sure links to the old content/link style redirect to the "new" version.

    *shrug*

    --
    Build Your Own PVR/HTPC news, reviews, &
  3. Cache by Bogtha · · Score: 4, Informative

    Either install squid as a reverse cache, or use Apache's mod_cache. Unless Mambo is so broken as to make caching infeasible (some CMSes aren't exactly cache-friendly), this should take a load off the database.

    Also, make sure you aren't screwing up public caches anyway. Things like serving CSS through PHP for compression etc aren't brilliant ideas, and you can get decent load reduction by setting expiry times in your HTTP headers. Mark Nottingham has written a good caching tutorial.

    Er, just a thought, but you have actually profiled and made sure that it's the database, right? A lot of people will say stuff like that based on nothing more than guesswork. Measure before optimising, or you're just wasting your time.

    --
    Bogtha Bogtha Bogtha
  4. I've written my own CMS by cniebla · · Score: 5, Informative
    Duh... I've been using a variety of CMSs since I started to realize that it's just silly to mantain too many HTMLs by hand. I've always seeking to achieve simplicity, ease of use, features I use every day, etc... and through these years I've found many shortcomings, setbacks and a very deep dissapointing of them all.

    The last packaged CMS I used was PLOG, I've even recommended the thingie here on Slashdot, but the thing just was smashed with too many comment-SPAM, and my google ranking hit the bottom (watch the trackbacks!!!). Even worst: when I decided to upgrade to the last version, it doesn't work with the last version of PHP, so I make the change and it took me about 1 week to write my own CMS.

    The first thing I realized was that I've to keep all the past URIs working (so all of the search results keep coming to my site, to the articles they mean). So all the scripts check the way they're called to render the appropiate content. This is a pretty serious matter: if you switch a CMS there's a BIG chance your site it's going to plummet in search-site rankings, unless you can "emulate" the previous CMS behaviour.

    Next: there's no-way to beat static VS dynamic performance, so unless you have the bucks, your CMS must render static content if you have too many hits (not an issue for me, but I'm working on it, and expect to have this feature ready in this week).

    I think the CMS wars are a little out of hand when it comes to "easyness" - "features" - "performance". There are not simple CMS available anymore. And that's a shame.

    I really doubt you can switch your CMS to another without loosing all hits stored in current search engines DBs without emulation, and I know no-one emulate other CMSs.

    Your road looks pretty bad if you can't write programs, mess with URI rewriting and MySQL/HTTPd tweaking. Either you assume the losses in switching, or get your hands dirty plotting the best way to go.

  5. MOD PARENT UP by trompete · · Score: 2, Informative

    I set that parameter on a vanilla install of MySQL 4.0.20, and website load times decreased by 80%. This site was doing about 5,000 hits a day.

  6. Roxen by kfsone · · Score: 2, Informative

    The little known Roxen webserver (http://www.roxen.com/) has an excellent CMS. It uses CVS to manage workflow and content revision, showing only the trunk-head to regular site visitors. It uses server-side XSLT and Roxen's 10 year mature caching systems. Roxen has had built-in browser-based "GUI" administration and configuration since it was called Spinner back in the early days of the web. It's only downfall has been that it was written in "uLPC", the language of MUDs, rather than pure "C".

    The webserver (platform) is free/OpenSource (http://download.roxen.com/ and includes one of the easiest web-scripting languages around, RXML. The CMS is freely available but costs for commercial use.

    --
    -- A change is as good as a reboot.