WordPress is missing things—no question. But so is, for example, Drupal in comparison to Django. Drupal isn't a framework, so it is harder to build new tools with Drupal than with Django ... but people choose to use Drupal instead of Django (or instead of Ruby on Rails or any other coding framework) because it makes doing some things easy.The same is true of WordPress. And I think you should take a closer look. For example, it isn't all that hard to manage the front page of a WordPress site. Categories can easily feed into slots on the page. WordPress DOES have custom fields (and a lot of plugins use them). Take a look at this demo theme to see how it could work— http://www.revolutiontwo.com/demo/church.html . I think that page is a lot more complicated than the one you linked to earlier, and WP handles it with ease. Doing some of the more complicated story sorting can be a bit more difficult with WordPress—but there are work arounds, and WP makes a lot of other things (like theming and updating) a lot easier. I haven't had any experience with Drupal, to be honest, but I also have trouble thinking that its theming engine is much more powerful than WP's—2.7, in particular, is VERY impressive in this regard.WP certainly has its problems—the admin isn't really set up for a large organization, among other things, but I think it deserves more credit than you are giving it. (And WP makes it really simple to have section pages, blog integration, and support all sorts of multimedia.)MilesOn Fri, Jan 2, 2009 at 7:53 PM, Zhuiyang [Dean] Chen <de...@ocirs.com> wrote:Wordpress is missing a lot of little things though. For example, there is no easy way to manage the front page on wordpress as far as I know. I'm not aware of a wordpress equivelent of CCK which allows us to add in custom fields for different types of multimedia, multiple authors, custom teasers. There is also no equivlent of the views module that allow me to easily change the content filter, format and sort order for each box. Also wordpress does have a pretty easy to use sidebar control, it's still no where near as powerful as Drupal's panels, which allow for drag and drop setup of side bars for the articles and any of the boxes of the front page. Drupal's theming engine is also much more powerful.
Everything is just easier to do and work with in Drupal after a site surpasses a certain complexity, we actually did quite a bit of research with various CMS's including Wordpress and Django and conluded the Drupal is our best option. Our site is also far from feature complete at this point, we still need section pages, blog intergration, multimedia support to mention a few.
--
Dean--On Fri, Jan 2, 2009 at 4:45 PM, Miles Skorpen <mi...@copress.org> wrote:
Hello! I just thought I'd add my $.02 ...Looking at ocirs.com:99 ... it actually wouldn't be hard to do something like that. Each section would be a different category, and it would use custom fields to set the images—I ran a site that had a significantly more complicated front page on WordPress for a year before moving to Django.The downside to doing this is the number of requests it requires from the database. WordPress is known for being pretty bad at this ... which is why there are a number of really awesome WP caching plugins out there. If we were pulling everything from the database, would it start to slow down? No question. But since 99% of the pages aren't going to change much, most calls will be for static pages, dramatically reducing the load on the database.Eventually, when we have a whole bunch more schools, I imagine that we'll create a setup with load balanced server and several dedicated database machines. But now, with an expected 5 (smaller) schools per server, I don't really see this being necessary.MilesOn Thu, Jan 1, 2009 at 6:24 PM, Zhuiyang [Dean] Chen <de...@ocirs.com> wrote:
Yeah, I don't mind if you add this thread to the public CoPress group.
Anyways, a few counter points.
- mysql has a feature called query cache that caches all queries in RAM, it's a one line setting in mysql's ini. Here is a benchmark testing this feature. http://www.weberdev.com/get_example-4920.html The performance difference from caching and querying from database on disk is huge, 151ms v 4507ms. And much of the response time from Drupal is database related, so the 30x difference in performance is going to have a huge impact on viewer experience, not to mention the potential CPU resources saved from not have to do the look up.
There is also a certain point where HDD speed isn't a luxury but a necessity, because when the total numbers I/O's from database queries and the operating system exceeds the I/O capabilities of the HDD, the site is going to grind to a halt, I don't know what that point is but I'm pretty sure it's close. I/O has an equal share if not larger impact on performance than the cpu and memory. I'll do some testing once I finish developing the site. Here's a old benchmark of Drupal with some older hardware, but I think it reflects pretty well the individual resources per virtual server. The shows that Drupal can only handle 150 requests per second to anonomous users, and that's only with core modules. I also manage and made our blogs at Chronicleblogs.com which are all wordpress based so I have some pretty extensive Wordpress experience, it just doesn't have the power and flexibility of Drupal. It will be near impossible to create a easy to manage and update frontpage like our current demo at ocirs.com:99 on Wordpress let alone all the section pages and extra multimedia features. I'll do a benchmark on my dorm computer when I get back to school and forward your the results, but it won't reflect the fact that the resources are being shared 4-5 ways.
On Thu, Jan 1, 2009 at 4:47 PM, Joey Baker <jo...@byjoeybaker.com> wrote:
Sorry guys, just want to cc greg on this, as The Alligator is actually running a WP install right now and may be able to speak from experience on server-load.
-Joey
On Jan 1, 2009, at 1:42 PM, Joey Baker wrote:
Dean–Thanks a lot for the info!I'll be upfront with you: I'm on the webdesign and project-management as opposed to the web development side of things. I'm also a software, not hardware guy. In other words, I'm a self-recognized non-authority on all of this… however, I assure you, I'm not the one who's made these server decisions. :)I know enough to hurt myself on this stuff, so… I've talk to a coupla a guys who actually know there stuff. I've also cc'd Miles on this — he's the guy who's managing our hosting effort/knows his shit.Here goes:• As far as I'm aware, neither WP or Drupal use the advance features of MySQL to enable tables to live in RAM, therefore I'm not really sure what adding more will do. 4GB of RAM for a PHP+MySQL solution (as opposed to Django or RoR) seems totally doable to me.• HDD speed is always nice, but RAID 0, aside from the obvious data-loss danger probably just isn't necessary. Speed is always good, but it doesn't seem likely that we'll really need all of that extra-head room. We're not talking about large databases, or large files here.• Both Drupal and WP are extremely well-designed CMS's that are very good at resource management. Yes, it is possible that this server may not be able to handle the load. Possible, but not likely. The software is good at managing it's resources and I think that without proof it's hard to argue that the server will come under heavy load.• I understand your worry about a slashdot effect. Yes, it is possible that our server can't handle it, but follow my math here a second.• 5 newspaper sites * ~15,000 pageviews per day = 75,000 pageviews on the server per day.• A slashdot effect on dailyorange.com recently resulted in ~100,000 pageviews.• Assuming that the rare slashdot effect will only happen to one site at a time, this means that we need to account for less than double the daily traffic to have enough headroom to maintain the site.• A slashdot effect will be one page getting a lot of traffic. This page needs to be cached once (both Drupal and WP have a cacheing) and then the load is off of the HDD. The question becomes RAM and bandwidth. Less so on the ram if you're not really dealing with signed in users.• I'm not saying that I know for sure that the server can handle every possible scenario, but it seems to me that we're pretty well set. If we encounter a problem, we add more X and solve it. We stress reliability, but we're not anticipating a need to host twitter levels of traffic.• I'm not sure how much you've played with WP over Drupal, but I'd urge you to take a look at it. There are some really impressive features on it. No, it's not a full CMS, and yes, Drupal can do more. But I'd challenge you to come up with a list of things Drupal can do that WP can't that justifies the extra development time/money/hassle while you're still sitting, suffering on CP.• Seems like you're putting a lot of research in so one more challenge if you're willing: give it a shot. By which I mean, grab your dorm computer — which you mentioned was as good as the server we've configured — and simulate 175,000 pageviews on a Drupal and WP install. You've got me nervous enough that I'd be relieved to have the results of that test — especially if they prove that we need a more powerful server.• Last thought: I love playing with the big boys as much as the next guy, but it's important to recognize economy of scale. We're not building CNN.com or nytimes.com here. These sites are just never gonna receive traffic that would even register on the radar of these sites. (Heck, CNN survived an attack from all of China this summer.) It's just not really necessary to get top-of-the-line.Last thing (promise): we've kept all of this private so far, would you mind if we add the CoPress Google group into this thread? (that would make it public.)Cheers,
____________________Joey BakerCoPress Business DevelopmentThe Daily Orangem: 408-220-4221twitter: @joeybaker
On Jan 1, 2009, at 12:19 PM, Alex Klein wrote:
Joey is now copied on this thread in case you guys want to continue this debate for which I am woefully uninformed!
Joey, feel free to copy anyone from CoPress in any of your responses and copy me, too.
AK
On Thu, Jan 1, 2009 at 2:18 PM, Zhuiyang [Dean] Chen <de...@ocirs.com> wrote:
Sorry, just read Joey's blog and and to clarify my forth point about I/O, I corrected it a bit.
My main concern is actually not processing power or bandwidth but hard drive I/O from the database accesses(this applies to wordpress but especially to Drupal) especially when you have multiple sites accessing the same hard drive(which I assume to be 7200rpm since it is 250GB). I think this bottleneck will be become obvious with two or three sites during normal peak traffic, when the response time increases significantly and requests per second can't increase past a certain point causing abnormal page loading delays for viewers. I think that one of the improvements, such as doubling the RAM to 8GB or upgrading to faster hard drives(to 10,000rpm or 15,000 rpm) or setting up a RAID 0 configuration. Increasing the RAM will decrease hard drive I/O since it will allow most SQL queries to be cached to RAM making hard drive access unnecessary in most cases which increasing hard drive speed will allow for a higher I/O.--
On Thu, Jan 1, 2009 at 3:08 PM, Zhuiyang [Dean] Chen <de...@ocirs.com> wrote:
Hey Alex,
Thanks for the update, can you forward this to Joey?
- Drupal is much more resource intensive since it is meant to be a more complete CMS solution where wordpress is more like a blog. Much of the resource costs, and features come not from drupal's core but from the much wider range and power modules that I installed seperately. Our wordpress blogs on the other hand are running mostly on the core with the exception of some pretty insignificant plugins(resource wise).
- CoLo wise, we have the huge advantage of being near Raleigh, NC where there is a huge technology and therefore datacenter sector. Therefore, we would have much easier access to our servers than usual. The main advantage to CoLo is that we can utilitize the latest processors, SSDs and load up on RAM which is very cheap right now.
- I plan to do a cost/performance/ease of management/scalability analysis on S3 and all our other hosting options since all of our options is viable and very different in nature. However, that would not be possible until I complete the feature complete version of the site so it will be a realistic representation of the load we should expect. This will probably be at least a month down the line. I would be happy to include CoPress in my analysis if you are willing to provide us with trial access to CoPress, it can very well accomodate our needs once I optimize Drupal since there aren't any benchmarks of Drupal 6 available on a quad-core yet.
- My main concern is actually not processing power but I/O from the database accesses(this applies to wordpress but especially to Drupal) especially when you have multiple sites accessing the same hard drive(which I assume to be 7200rpm since it is 250GB). I don't know how many sites you plan to host on that server but even with two or three sites, the bottle neck should become apparent. I think that one of the improvements, such as doubling the RAM to 8GB or upgrading to faster hard drives(to 10,000rpm or 15,000 rpm) or setting up a RAID 0 configuration. Increasing the RAM will decrease hard drive I/O since it will allow most SQL queries to be cached to RAM making hard drive access unecessary in most cases which increasing hard drive speed will allow for a higher I/O.
- I'll keep you updated on our future progress if you are interested.
--
Dean--
On Thu, Jan 1, 2009 at 1:54 PM, Alex Klein <axeln...@gmail.com> wrote:
Dean,
The new post is up on CoPress.org. Check it out.
The writer, Joey Baker, sent me this additional feedback and asked me to pass it along to you.
I did want to take the opportunity to briefly address some of Dean's worries more privately.• I've done some research and I can't find anything to say that Wordpress or Drupal have any speed differences. They're both PHP+MySQL based CMS solutions. That indicates a pretty similar server performance to me. Nonetheless, if Dean's sure that Drupal is more intensive, perhaps the reason he thinks our server specs are sub-par is b/c he's designing a system to run the more process-intensive Drupal.
• I'd think real hard about CoLo before you commit. There's a huge initial investment and non continuous upgrading. That initial investment is going to have to be made every few years as you update the server. Plus, there's nothing quite like having your very own server that you can't touch … and neither can anyone else. I'd highly encourage you guys to look elsewhere.
• Amazon S3 is a real good solution if you're expecting a ton of bandwidth. A lot of Web 2.0 sites — like Tumblr, which I noticed you use, use Amazon's service. (btw…I'm at joeybaker.tumblr.com – love the the site). The problem is that the service really isn't economical for a single school. It's something that CoPress has considered for the time when we get many newsorgs on board, but it's just not an economical plan for low bandwidth. IMHO
• I've written this theme pretty strongly into the blog post, but we really hope we haven't scared you off. We're not just about hosting. There's more to CoPress than that and we'd really like to see you guys at Duke hop on board. Even if it's just adding some information about Drupal to our wiki. Or writing a blog post about your experience thus far. Heck. You don't even have to post it on CoPress (though we do receive some good traffic). Share and share alike.
Happy new year, Dean. Thanks for all your hard work.
AK
Dean Chen
Dean Chen
--
Dean Chen
Dean Chen
--
Dean
Albert you make some very good points but there is a couple I have to comment on. My main argument regarding server performance wasn't processing power but I/O, I just don't think a desktop grade hard drive can handle 5 sites with similar traffice patterns. Most hard drives can handle only about 200 I/O's per second.
http://www.xbitlabs.com/articles/storage/display/25inch-hdd-250gb_5.html
Split that between 5 sites each with apache and mySQL individual I/O's and I can't see the system handling all of that.
I also don't expect our daily traffic to fully load the system, but 150 r/s, with no extra modules, doesn't bode well for any traffic specs. The comment about Yale Daily News is very interesting, although it seems that Yale's setup and backend is less complex than our's. I would be very interesting to learn more about Yale's system.
Backup isn't too hard to manage, I was thinking rsyncing to another harddrive and doing a complete backup weekly. And driving to the data center monthly for off site backups. I also think that hardware management isn't a very difficult to learn, if we can't happen to recruit some compsci major I don't think it will be very hard to teach someone how to swap out a hard drive or replace some card.
I've already mostly learned Drupal's theming, so themes aren't much of an issure anymore. The nice thing about Drupal is that now most content can be added and removed through a web interface with panels.
--
Dean
I agree, what I've been trying to say is that Drupal is what I believe to be the best solution for Duke right now. I'm sure Wordpress will be a good fit for smaller sites, especially for those that are trying to total costs, but I think we can do a little better with our budget.
--
Dean
Yes, MySQL's Query Cache is probably not the best way to cache Wordpress and Drupal because it is pretty "dumb" since it is at a such a low level. I mentioned it as an argument for increasing the amount of RAM in the server configuration since I don't believe it is enough for our purposes. There's a module for Drupal that will easily allow us to easily implement many cache systems including memcache, which is what we will end up using; MySQL query was just a simpler example for the purposes of the debate.
--
Dean
Thanks Max(and Robert). The blog posts provided were pretty helpful, it seems that Drupal offers all the types of caching either built in or as a module so it seems we pretty much have our bases covered in that respect.
I mentioned earlier that we will most likely be looking to CoLo in a datacenter in Raleigh which is only about a 30 minute drive, so CoLo is better option for us than most. From personal experience the most part likely to fail is the hard drive. I figured a 4 drive raid 5 array with an spare drive should solve that concern for the most part, and replacing the faulty hard drive isn't very difficult. A redundant power supply should protect us against PSU failures. That leaves RAM, motherboard and processor. Ram is easily diagnosable and replaceable, I've never ran to a processor failing before, although the motherboard is harder to replace than most components, it's no rocket science either.
I also realize the benefits of automatic backup but it's also something that most organization can handle on their own since there's usually some time to troubleshoot the issue if something does go wrong. I would also feel a lot safer having the complete easily and quickly restorable backup in my hands.
Since I haven't seen a benchmark of a fully optimized Drupal installation yet and seeing how much caching helped Yale Daily News, but at the same time, Drupal is definitely more resource intensive than a custom php CMS, so it's hard to say what sort of hardware requirements are necessary anymore. I'll try to do some premiminary testing on my computer when I get back to Duke on Wednesday and get back to you guys once I get some hard data on my hands. If CoPress can handle the traffic I have no reservations about hosting the site there for the forseable future. But I'm still very concerned about the amout of RAM on the system which works out to be less than 1GB per site since the effectiveness of caching will heavily depend on the available RAM.
--
Dean
Hey Miles, what is the level of caching for the Gazette, are you guys using memcache or a similar system? And does that number apply to idle, average or peak times? Both those factors can have quite an impact on RAM usage.
The demo site at ocirs.com:99 is utilitzing about 730MB of RAM and that's with a beta version of Windows 7 I was playing around with as my desktop OS, no RAM caching, no other apps running and some of the modules disabled. There is too many factors in play in my case but I think we are going to easily approach 1GB when things are said and done under a production enviroment.
Even using what I believe a somewhat conservative 700MB estimate, with 5 servers that still adds up to 3.5GB and don't forget about the VPS overhead; there's just not enough headroom left.
I also understand that some sites are smaller than our's and will not be using a fully loaded drupal installation and may not need that much resources; $65 is definitely a sweet spot for many smaller organizations. However, if you guys would consider offering a more expensive package(doesn't have to be public since one price point definitely simplifies things) with more RAM(2GB+), we will gladly pay the premium, even if it just means I sleep better at night.
--
Dean
Great idea Daniel, a shared google doc spreadsheet where everyone can input their specs would be a nice thing to see.
--
Dean