Migrating from Mambo to Another CMS? 52
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."
Re:Changing to another CMS (Score:3, Insightful)
They are reading articles and comments.
If he switched from MySQL to PostGreSQL would he lose readership as well?
I assume he's not going to be an idiot and bring his site down while he installs and configures his new CMS engine.
Re:Changing to another CMS (Score:2, Insightful)
Re:Changing to another CMS (Score:2)
I cannot accept any other $deity than bgcolor=#006666;.
Re:Changing to another CMS (Score:1)
Re:Changing to another CMS (Score:2)
Re:Changing to another CMS (Score:2)
its like moving from win to linux sure they can be made to look the same on the surface but as soon as you actually try to do stuff you will still run into and get annoyed by the underlying differences
Re:Changing to another CMS (Score:2)
Re:Changing to another CMS (Score:4, Informative)
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*
Evaluate, evaluate, evaluate. (Score:5, 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;
MOD PARENT UP (Score:3, Informative)
Re:Evaluate, evaluate, evaluate. (Score:5, Informative)
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..
Re:Evaluate, evaluate, evaluate. (Score:2, Informative)
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.
I would imagine more info would be needed (Score:2)
What version of Mysql... are you using any php caching/accelleration? Any regular caching?
FWIW I feel for you.
e
What's up with Slashcode? (Score:2)
I'm very interested in anyone's experience with Slashcode [slashcode.com], as well.
--
If you support dishonest [doonesbury.com] and violence [startribune.com], don't say you are Christian.
MOD PARENT UP (Score:2)
--
If you support dishonesty [doonesbury.com] and violence [startribune.com], don't say you are Christian.
Re:What's up with Slashcode? (Score:1)
Re:What's up with Slashcode? (Score:2, Funny)
SLASHCODE IS THE SHITTIEST PIECE OF SHIT I HAVE EVER WORKED WITH.
Now that I've said that... Slashcode looks like it was written by first year high school computer science students. Simply trying to change the look of the slashcode site is an exercise in futility, requiring messing with the ugly code with its interspersed look. If there are Design Patterns and Best Practices, then Slashcode would be the ant
Re:What's up with Slashcode? (Score:2)
Re:What's up with Slashcode? (Score:2)
Cache (Score:5, 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 [mnot.net].
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.
Re:Cache (Score:2)
Regarding caching, Mambo does have a few caching mechanisms. Of the Global Configuration options, you should try tweaking the "cache" settings.
You may want to enable GZIP Page compression
Re:Cache (Score:1)
From the article: The database is running on a P4 2.4Ghz machine with 1Gb of RAM, and the database server is on it's knees.
This at least gives us the impression that his database is on a seperate physical machine. Enabling (or disabling) gzip will do absolutely nothing in this case. The compression will happen on the web server, thus making absolutely no difference to the database server. If they were running the same hardware, gzip will use more CPU time and thus make the situation even worse.
Re:Cache (Score:3, Interesting)
Re:Cache (Score:2)
Re:Cache (Score:1)
You can also cache the database queries if you're happy to mess with code.
This introduction to memcached [debian-adm...ration.org] shows an overview; using memcached [danga.com] - used by /., Livejournal, etc.
include mod_blanket.h (Score:2)
Re:include mod_blanket.h (Score:2)
Truth be told, the server did literally catch fire earlier this year. But I'm reasonably sure it wasn't due to PHP...
Re:include mod_blanket.h (Score:2)
That's weird, I thought he was mostly blaming coders, not PHP.. just like you.
It seems that Mambo is not all that scalable. (Score:1)
Translation: I'm having scalability problems that I don't know how to fix.
pedantic response about (Score:1)
I've written my own CMS (Score:5, Informative)
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.
Re:I've written my own CMS (Score:2)
textpattern (Score:2)
It's VERY lightweight, and elegant in its design, and doesn't hit the database anywhere nearly as hard as Mambo theoretically does.
there's also a bunch of up and coming ruby-based weblogs/cms-es, most of which do Ajax/Web2.0/Whatever-you-want-to-call-it
I haven't used any of them, but I hear great things about the apps being built on top of ruby-on-rails.
RAM (Score:1)
Also, you need to look into the queries that are being made to the database. One database isn't necessarily going to be any more efficient with its SQL queries than another just because more people like it.
SMF & TinyPortal (Score:1)
/code (Score:2)
I have heard stories of the fabled Slashcode. Few mortals survive.
Here's my tests (Score:1)
A month ago i worked on a comparison between mambo, lenya and plone and i'm looking for feedback, you can read at www.menttes.com/contribs/cms.html.en [menttes.com].
Regards
r.
Re:Here's my tests (Score:2)
If all else fails, e107 isn't a bad idea... (Score:1)
steps you should take (Score:2)
(2) Realise that Mambo is only useful as a very low-traffic blog software that takes hours to do what you could do with static pages in minutes.
What? (Score:2)
Re:What? (Score:2)
I wasn't just talking about the resource (memory and CPU) scalability; I was talking about the programmer and team scalability. Hmmm... let's see: A loosely-typed scripting language performing tasks for which it was never designed connecting with
Optimizing Mambo (for the adventurous) (Score:2)
1) (as pointed out by other posters here) make sure that mySQL's query cache is enabled with a large amount of backing store.
2) I trivially hacked the mosDB class to time every DB call and then log the count of SQL calls and most expensive single call on each page load. I found tihs pretty useful in finding bottlenecks in i
Roxen (Score:2, Informative)
The webserver (p
reg:CMS (Score:1)