I've been a big fan of Drupal since the year 2006 and developed a lot of own and client projects on Drupal 6. I've been waiting for Drupal 7 as many of you and was amazed by a rich D7 features list and all. After January 7th, I spent 2 days playing with D7 and came to a conclusion that all these improvements came at a big price - performance.
Drupal 7 became twice slow then Drupal 6 with the same set of modules and content. This is no good at all. Drupal 6 was heavy, but Drupal 7 became extra heavy. D7 consumes a lot of CPU power, it became easier to MySQL, but CPU load became higher. I know that caching, APC and all that stuff can fix the situation and let to breath a bit easier, but let's look at this from an average user/client perspective. Drupal 7 is aimed to get in mass market user hearts, but please, explain me, how an average user will decide to choose Drupal 7 if he encounters with a problem of a high resource usage and not so fast pages load? Especially if this user came from a Wordpress world, where pages load like a flashlight even on the new Wordpress 3. How an average user will stick to Drupal, if he will be banned from his shared hosting provider for consuming too much CPU memory? Talking about an average user, I'm not talking about a poor student. Lot's of my clients, for example, are starting from a shared hosting packages and they aren't poor at all, they just don't see a reason to pay for a dedicated server in order to be able set up APC/Memcached to make Drupal run faster for a project with an average 1000 daily visitors. What will an average user do in this situation? Right, he'll move on and choose another CMS/Framework, despite of great Drupal community and lots of contributed modules.
Drupal 7 can push away mass market because of it's slowness and I'm really concerned about it. I love Drupal, I invested a lot of time in it, I've built a lot of projects with it, I blog about it, but things which Drupal 7 has brought make me think about the whole Drupal business. Drupal 7 is great from features/usability perspective, but looks at least frightening from an average performance point. For a big projects it's cool, if you have big clients, it's not a problem for them to throw a few bucks on a dedicated server to set up all this caching/optimizing stuff. But look at your clients, how many of them have projects running on a dedicated server? How many of them are big at all? What's about restaurants, attorneys, accountants, bloggers, product producers and all other non-big-social-e-commerce clients, do they want to hear about a mysterious dedicated server in order to be able to run a website produced by your studio? Ask yourself, if it is a good selling point, when you'll be telling every of your client that he needs to pay for a dedicated hosting account in order to run your product? I think not every client will be happy about this. And you shouldn't underestimate the role of a fast websites, even Google uses page loading time as a ranking factor, I'm not even talking about users who are so impatient and are ready to leave your website if it's slow. And no users = no money = no bread on the table.
I want to be mistaken. Really, because I love Drupal. Sticking with Drupal 6 maybe an option for a year or two, but it doesn't have a big future, because with Drupal 8 introduced, Drupal 6 will be left unsupported and it will be hard to support Drupal 6 alone plus Drupal 7 performance won't add up to Drupal's popularity among not so large clients and to Drupal development services in overall.
I want to hear and discuss what do you think about this. That's why I wrote this post, I want to know what community members and users think after Drupal 7 release euphoria.
Comments
Yup
Agreed here. Used D6 and it worked fine, speed was very good and I loved it. Installed D7 now and am horrified. I hope it's just me and my database/server having something configured badly, but at this state the thing is unusable. Will have to test it on another machine and see how it goes there.
An important change is that
An important change is that D7 uses INNODB by default, instead of MyISAM. If your db server has the INNODB storage engine enabled, but not very well configured, this can hurt a lot.
If you will look at Devel
If you will look at Devel logs, you notice that most time is spent during page generation, not database. Drupal 7 became more CPU intensive and this is killing all the sense of its existense. Now you can't run away with shared hosting to create even a simple blog / website. In order to get suitable page loading time you'll be forced to optimize the server and have VPS/Dedicated hosting package. Do you think this will add up to Drupal popularity? I don't.
My web production and development blog. I do Drupal development.
Do you have an opcode cache
Do you have an opcode cache enabled? Is this on a windows localhost? If you could profile and post the results to the issue queue, I'd appreciate it.
I installed it everywhere:
I installed it everywhere: windows, several shared hosts on Linux - the same outcome everywhere. You can see results here on the test site: http://fb.timonweb.com/ - this is a simple website with Devel generated nodes and comments. Nothing fancy. I enabled Devel log to be visible for anonymous users. Look it yourself.
And tell me, have you installed Drupal 7 yourself? What are your results?
My web production and development blog. I do Drupal development.
All I can see on the testsite
All I can see on the testsite you provided that the allowed memory size was exhausted. Can you try without the query log and just display the the page timer?
Even better would be if you could provide an outputfile from the xdebug profiler (or some other profiler).
Do you have an opcode cache enabled?
Try to open several pages. It
Try to open several pages. It works ok for me. If I'll disable the query log you won't see how much time was taken for mysql and page generation.
This is an usual shared hosting environment, so no opcode cache enabled. I know that opcode can ease the situation, but can you imagine that this is possible on a shared hosting? I don't think so. Most shared hosting plans don't support apc, eaccelerator, etc. because they're running as apache/php-cgi for security reasons vs apache/mod_php. I'm not aware of any accelerators that work with php-cgi.
xdebug profiler isn't available on shared also.
My web production and development blog. I do Drupal development.
Need optimal InnoDB config file
Can you provide a sample configuration file that works well on your testing machines so that I can compare my settings with yours?
Fixed!! innodb_flush_log_at_trx_commit=0
Finally found the time to look deeper into the issue at hand. Tried some random variable changes on InnoDB in my.cnf file and setting innodb_flush_log_at_trx_commit=0 helped me fixed the problem. It seems that a value of one means every transaction is written to the log as opposed to writing a complete transactions log every second when using 0. Neat!
Configuration Problems
I've installed D7 on my local XAMPP and a fast dedicated Server and on both on them it run not really fast. (It should, both have at least a Quadcore!) So I stumbled upon this thread.
Well, I've solved my Performance Issues and the Problem for me was a very insane Standard Webserver Config.
It seems that MySQL comes with a config preset that is optimized for Webservers with 64-128MB RAM. And InnoDB doesn't start at all, if I tried to it wouldn't work. But still, InnoDB Tables work, but are incredible slow.
So my solution to this Problem was that I optimized my.cnf a bit (but couldn't activate InnoDB sadly). And I converted all my InnoDB Tables to MyISAM which seems to be more forgiving with bad configuration. (HeidiSQL is a great tool for things like that)
What happend was a Performance-Boost that I didn't expect:
Before a D7 Site took an average 3 secs to load, Admin Sites about 5-80 seconds.
After those config changes a normal site loads in 150-300ms and even complex Admin Sites within a few secs, sometimes less than a sec!
Devel Performance Logging showed me that some queries (especially for the cache tables) run after conversion to MyISAM about 100(!) times faster.
Also I've installed APC but this didn't matter very much anymore. (Didn't change much)
So now I have a LIGHTNING fast Drupal7 install.
So maybe some PPL have this Problem: Drupal6 uses MyISAM by default so you won't get much performance issues with bad(=standard) Webserver Configuration. Drupal7 expects a more modern Webserver (which is a good thing!) and if your Webserver doesn't meet sane Configs the Performance will be very bad.
I hope this is helping some Folks out here ;)
Simon
Interesting, for all the
Interesting, for all the drupal 7 hip hollering and party celebrations, it sure is awful quite on the web regarding Drupal 7. I can't find anyone talking about it not even on drupal website. I realize it's still new but the hype was so big I thought for sure everyone would be installing and upgrading.
I tried to upgrade from drupal 6 and it was a complete failure. I ended up having to install it from scratch. I am not impressed with Drupal 7, three years and that's all they came up with ?
I also upgraded wordpress and it took all but a few seconds and everything was updated. Wow and it took drupal three years for drupal 7, now they must already be working on drupal 8 lol
I've been seriously considering going to wordpress, it's become a powerful CMS and I think in many ways is light years ahead of drupal. While drupal becomes more complexed, wordpress is getting easier and more powerful. I don't think it will be too long before wordpress gets it, they are already getting it.
I love drupal but seriously 3 years in the making and this is all they came up with. A big disappointment.
Yes, true. I'm really killed
Yes, true. I'm really killed with the outcome. And the story with D7 and all this "Wow" hype and none mentioning that it became as slow as a snail reminds me an old story about the naked king.
I love Drupal and it's philosophy, but if this awful performance lag won't be fixed, I'll start looking at other platforms. Even a week ago I couldn't even think about such an outcome.
My web production and development blog. I do Drupal development.
-=[o]=-
Sorry, everything is loading almost instantly for me. The first view might have lagged slightly, and I probably only think that because I was looking specifically for performance issues. Have you fixed it or do you have one of those annoying hosts that oversell or that have weird ways of handling peak periods? I switched host recently due to suspecting aforementioned problems as my sites would run fine except past 10pm Australian WST where they would become unusable if they loaded at all.
technonaturalist was built on D7 alpha and I haven't noticed any performance issues all the way through. It's not as module heavy as my community siite which I haven't upgraded yet, but there are a few on there.
works at bekandloz | plays at technonaturalist
D7 much slower than D6
I've noticed D7 much slower than D6 at random times. I will even get the odd time out the browser. Once when I was logging in via my laptop, I heard my drupal server hard drive spinning very loudly and for at least what seemed like a minute or more; all the while my browser was waiting.
I haven't had time to check into what is actually occurring but as much as it frustrates me, it's only a personal server so not vitally important. Its possible the issue isn't directly connected to Drupal but who knows at this point.
FWIW, I'm running this on Ubuntu 10.04, 1G RAM and latest stable version of apache2, MySQL & PHP with no funky cache serving programs. Drupal 7 is a fresh installed/database because I had problems with the upgrade and got a lot of errors when trying to configure/fine tune drupal settings.
Bit of a learning curve from D6 to D7 but so far, aside from performance issue, I like the changes in D7.
Back to D6
Ok, guess it was bothering more than I thought. I've switched back to D6 and I'm in my happy place again.
I still like the direction of D7 and broke a rule of mine; not to switch over to new release until at least 6 months after. I'm sure all the issues will be fixed in D7 and can't wait to upgrade in the future; not to mention a larger release of D7 modules ;-)
Some numbers.
Some numbers.
On IIS / PHP 5.3 (fastcgi autoscales) + wincache 2 with vanilla D6 and D7 with devel generated content, both on InnoDB I get the following results:
Without page cache enabled on the frontpage:
In D7 a lot of time is spend rendering the page array.
With page cache enabled on the frontpage:
Here, it's D7s bootstrap that takes > 2x more time than D6 (28 ms vs. 13 ms)
edit: updated numbers for tests ran without the xdebug extension enabled.
edit: protip: if you get only a few requests/second on a Windows host with a localhost database, use 127.0.0.1 instead of localhost in settings.php or PHP will throw a fit (timeout) on an IPv6 connection attempt.
thanks for the data. I
thanks for the data. I installed APC on the localhost and now D7 is more or less usable, but out of the box it's very slow from the end user perspective. I'm afraid that this will push out a lot of prospective Drupal users.
My web production and development blog. I do Drupal development.
Classical: OO as efficiency killer?
Is this a classical case of: 'OO as efficiency killer'?
I agree with the OP, D7 is
I agree with the OP, D7 is unusable slow in its current state. Unless you've got the money for a dedicated server and a specialized setup it makes no sense to use D7.
Looks like Drupal 7 is a Windows Vista.
Hopefully Drupal 8 will be a Windows 7!
Can we talk specifics here?
Can we talk specifics here? How much slower?
at least two times slower.
at least two times slower.
My web production and development blog. I do Drupal development.
In my opinion, and this is
In my opinion, and this is after 5 years on drupal, D7 is a mis-step. It's been made far too heavy and far too slow...in short, too many API alterations/additions and frills/bells on top of that. Just need to look at the download size of the last three versions:
D5 - 750kb
D6 - 1.05mb
D7 - 2.6mb
wow!
Someone mentioned the lack of "buzz" on the internet with this launch and that's something that has staggered me. It's almost as if it was out of the gate and then covered up. What happened? Is it the (as of writing) 4 criticals and 209 major bugs? That major figure was about 120 ten days ago. Was it released both too late (promised at the end of 2009 initially) and too soon at the same time???
I already have one client who has decided to jump from D6 to D8 with the hope that "they sort out all the crap".
Um...
The size of the download has absolutely nothing to do with how a Drupal site performs when it's running - those are completely unrelated. The Drupal 7 tarball is bigger than Drupal 6 because a number of files were added to it (tests, libraries) but the fact that those files are sitting in the filesystem has zero effect on performance of an actual site.
When comparing performance of D6 to D7 it is also important to make sure you are comparing the same thing. A lot of functionality was added to D7 core and enabled by default, but much of it can be turned off. And a lot of D7's new functionality involves things that were very commonly installed via contrib modules in Drupal 6. So for example, it is more realistic to compare D6+CCK to D7 (with the field API built-in) than a straight comparison of core vs core. That said, D7 is definitely slower than D6, although understanding how much and what that means requires some careful analysis. See #615822: Benchmarking / profiling of D7 for an issue that has tried to do those kinds of benchmarks.
Also, I am not sure which Internet you are possibly looking at to say there hasn't been any "buzz" about Drupal 7??? :) Let's get some historical perspective here. It seems to me like D7 has gotten tons of attention (compared to the D6 launch), and more important, it is also the case that an enormous number of sites, large and small, are already using Drupal 7 in production and doing just fine. (And of course, Drupal 6 was slower than Drupal 5 too. And for a long time after it was released, all sorts of people were saying that they were planning to skip it and jump straight from Drupal 5 to Drupal 7, etc. Same old, same old.)
If you want to help improve Drupal 7's performance, there are a number of ways you can help; for example, by working on the issues listed here:
http://drupal.org/project/issues/search/drupal?issue_tags=Performance
we know what's happened to
we know what's happened to D7. It may end up being a "good" move, but it doesn't change the one overriding fact: core has been bloated for mass appeal.
there, I said it. Now shoot the messenger.
What's funny is all the
What's funny is all the people jumping the drupal 7 ship for wordpress. Sure D7 is the best one yet, keep drinking that koolaide. I read somewhere that Drupal.org is not on D7, anyway to confirm this ?
Drupal.org is indeed not on
Drupal.org is indeed not on Drupal 7.
As with any large site, preparing for the migration takes time.
Drupal.org is to be migrated
Drupal.org is to be migrated to Drupal 7 by the fall of this year. Migration from D6 to D7 is not an easy task, especially when we speak about such a large site like drupal.org.
My web production and development blog. I do Drupal development.
Jumping the Drupal7 ship for wordpress? Really? or FUD?
Is that so? And is there any reference on this? Just to avoid any FUD in this furthermore important thread.
_
don't waste your time ber-- if you check the user's tracker you'll see despite their usage of drupal, more often than not they just troll and complain.
Personally I'm happy with
Personally I'm happy with what I've seen in Drupal 7, though I've only run it locally on a powerful machine, with almost no modules enabled as I am using clean installs to upgrade my modules for release. So I haven't seen it in live action yet (I won't be upgrading my sites for a few months yet) and am not able to comment on the slowness that people are discussing.
But I wanted to comment on this:
The problem here for me is that I never used cck in D6 because it was bloat. I always preferred to code my own content types in order to keep them as slim as possible. So while comparing D7 with D6 (no cck) isn't a direct comparison, it's still a valid one since we are discussing the out-of-the-box product.
Contact me to contract me for D7 -> D10/11 migrations.
That's a good point.
That's a good point. However, D7 doesn't prevent you from coding your own content types that skip the field API and store data in their own way. You can definitely still do that.
The field API code will still be loaded and some of it will run, though - so that is a difference from D6. It would be an interesting thing for someone to benchmark how much overhead results from that. (In other words, if you have a content type with no actual fields attached, how much time is still spent running through the field API functions.) I would hope the answer is "not much", but if not, that's definitely an area that should be improved.
That's a good point as well.
That's a good point as well. However, to some degree I'm reluctant to skip using the field API at least for modules I contribute, as people will be expecting to tie into the fields in my content type with that API. Although I guess the same could have been said for D6 modules and CCK integration.
Contact me to contract me for D7 -> D10/11 migrations.
This sounds discouraging. But
This sounds discouraging. But lets not throw our hands up in frustration and declare Drupal 7 a right-off based on performance. The rest of the community still needs to catch up, this is a collective effort.
_
Founder
Sivius.ca
I installed d7 RC3 on my
I installed d7 RC3 on my local machine to try it out for a new project I've been working on, thinking to convert it to d7.
The original site (just the page itself) loaded at 30ms according to YSlow and 1002 on D7. In the admin section, the overlay stalled it so badly I turned it off.
I'm going to use d7 on another site I have (the cliched d5->d7 upgrade) that is basically just static so the caching can take care of things, but after that experience I am *extremely* reluctant to use d7 for anything else at this point.
If you're not using the
If you're not using the standard profile, and on an upgrade you're probably not, you may well be running into #1014130: install_profile_info() does a file system scan on every request to admin/config (and etc.) - testing of that patch would be very welcome from people experiencing slow performance on admin/*.
You must use the opportunities to increase the performance
It may be that D7 is slower than D6.
But when you don't use the opportunities to increase the performance (eg. apc, cache-system, and so on) then D6 is also too slow to work with it.
And you don't need always a dedicated server to use e.g. an opcode-cache.
I have a small webhosting-paket by hetzner (4,90 Euro per month) with the possibility to enable eAccelerator and then D6 and D7 have a good performance.
Hi All, Just thought I would
Hi All,
Just thought I would add:
I have troubles using views on my webhost (crazydomains). I run out o fmemory trying to install the module. Same for a number of other modules. Never had this trouble on the same site with d6. Just thought I would add that.
Cheers,
Shags
My site on GoDaddy shared
My site on GoDaddy shared hosting plan is also experiencing major performance issue after installing Drupal7. It's taking around 3 seconds or more to load a simple page. I had a problem upgrading from D6 so I end up clean installing D7. I love the new layout in control panel but the slowness is a killer.
I think OP is right about the Google using page loading time as a ranking factor. My site ranking went down a bit after installing D7. There was no change in site content. I hope there is a service pack come out soon to fix this performance issue.
Move your site to a cheap VPS
Move your site to a cheap VPS until it's too late! You can use something like Linode with 512MB Ram and intstall APC there. If you need help with this, contact me via my blog.
My web production and development blog. I do Drupal development.
Move your site to a cheap VPS is not an option for most users
Shared Hosting is what the majority of users are on, it's the de facto standard ala norm. A CMS should be made to fit what the majority are using. There's no such thing as a cheap VPS or Dedicated Server. We shouldn't have to buy expensive hosting set-ups to use Drupal.
Yes and no, those 'unlimited
Yes and no, those 'unlimited everything for almost nothing' are only able to offer that deal by having weak, oversold systems without much power. For a few more dollars, it's possible to get more powerful shared hosting that can handle Drupal. A dedicated server isn't absolutely necessary for most Drupal installations, but most will run much better if not using the cheapest hosting.
Contact me to contract me for D7 -> D10/11 migrations.
Please show an example of
Please show an example of shared hosting capable to properly handle Drupal 7? I couldn't find such, so now, I'm explaining my clients what VPS/Dedicated is. It is pretty tough...
My web production and development blog. I do Drupal development.
http://www.mddhosting.com/sem
http://www.mddhosting.com/semidedicated.php
I run a couple of fairly heavy sites on them. Excellent service - best I've had ever, and I've been through a number of different companies now. I can't recommend them enough.
Contact me to contract me for D7 -> D10/11 migrations.
A VPS from Linode is anything
A VPS from Linode is anything but expensive. At 19.99 or so a month, a VPS from Linode is barely more than an MMORPG subscription fees (and some of these games sport 12mil users indicating that a large portion of the population can indeed foot that price on a monthly bais).
While I agree that a CMS should be able to support the lowest common denominator (shared users), I don't think it should necessarily come at a cost to those on real servers. Perhaps drupal7 should have a thin/light install with some key features simply disabled.
I would suppose this is what
I would suppose this is what the minimal install is for. However, users will be terribly unaware what they have chosen and they will not know how to go back.
$20 per month for hosting is out of the question for most people
Let's see I'm paying $5 now for shared hosting, you really think I'm going to pay $20 and don't tell me it's just a few dollars more, it's $15 more. When you add other expenses into the equation it can get expensive. VPS doesn't come with Cpanel, a must have if you ask me. Shared hosting is what the majority of people need to be using. Anything else is if you are into hosting sites or advanced web stuff ie developer,etc. People on shared hosting may as well stop at D6 because everything else is going to be geared towards developers. Wordpress on the other hand will always be made for everyone else.
Drupal isn't wordpress. It's
Drupal isn't wordpress. It's known for being a more robust solution. And being more robust, it's going to need more powerful hosting than wordpress.
Contact me to contract me for D7 -> D10/11 migrations.
Yes and no. Drupal isn't
Yes and no. Drupal isn't wordpress, that's true. But the new version (D7) shouldn't be twice slower than the previous (D6). Because if it is slower, it's not a progress, it's a regress. And what the community has done with D7 in the usability and scalability area is a big big progress, but "vanilla's" performance became worse, and in this area this is obviously a regress. I hope this won't hit Drupal's adoption too hard, however, Drupal 7 has a real risk to lose simple-medium websites market share and get a "turtle" image among potential users.
My web production and development blog. I do Drupal development.
Those who are using Drupal as
Those who are using Drupal as a framework will have no problem footing a 19.99 bill. Heck, millions of teenages foot the bill monthly for their online gaming. If your using a shared envirorment and expecting the best of performance, you're simply dreaming. If you're using a shared site and have minimum traffic (if you have serious traffic you should be on a vps or dedicated box anyhow), then software purely focused on your needs should be what you deploy. Drupal is a framework that works as an out of the box CMS, not the other way around.
Agree; give programmers a better interface too
I do agree that 7 is slower but overall not terribly. I also have to strongly agree that there is NO buzz whatsoever in comparison to the release of Joomla! 1.6 or compared to the buzz there was when WordPress 3 was released. Not that there needs to be for me to use it, but I almost feel like not telling any client what the underlying framework is (only reason to do so is so they can do their own research). Questions will always be raised: why not WordPress or Joomla?
Programming-wise, the thing that Joomla and others have at minimum is an MVC implementation which simplifies DB access greatly (although at the moment Joomla only supports MySQL/MySQLi). Same goes for Magento (except EAV-style database transactions), using an (very complicated) extension on the Zend Engine. Regardless, on either, I cannot easily have a syntax error in SQL (like in 6) nor am I even 'knowing' it is a DB hit (like in the case of 7). The same patterns exist in other languages. Django and others are beyond this in automatically creating a schema based on your model (your class).
The Field API is CLOSE to this sort of thing. At least with that you are not overly concerned with getting the right table name. Accessing the database directly should be highly discouraged and similar should really be given as model to support good programming practices.
The whole point is to get rid of the mundane (like having to create a schema (hook_schema()) and then memorise it to quickly program for it), which should be in core by now. Writing db_select()-> instead of the full query in a string is hardly any better and hardly a solution. The real problem is the programming interface in core is still making us programmers take more time to do mundane things that core should do on its own (like creating a schema, setting up a customisable administration page, storing variables, etc).
7 is indeed a fix-up on 6 and adds some nice new features and fixes some previous annoyances (AHAH in 6). However, a Drupal 7 site out of the box is still far behind what WordPress has (a built-in WYSIWYG editor) and Joomla! (an example content-rich homepage set to default). In terms of getting users, a Welcome screen is just not going to work.
With Joomla! finally getting a forms API and a ACLs, it seems like Drupal is going to lag behind. I'm always researching new things. Many others in 'Drupal-land' are extremely biased and think Drupal will do anything reliably and speedy. Realistically, this is NOT the case.
I don't use Joomla, but I
I don't use Joomla, but I read an interesting comparison between Drupal 7 and Joomla 1.6 the other day: http://www.designerstalk.com/forums/content-management-systems/60742-dru...
Contact me to contract me for D7 -> D10/11 migrations.
There's no doubt that review
There's no doubt that review is just a tad bit biased towards Drupal. Even the comments confirm this. I have no problem with that as I prefer Drupal in nearly every aspect. I have mostly made points on the programming interface to have more, not necessarily user features.
For some reason, Joomla still always scores higher for usability over Drupal. I always say it's Drupal's lack of icons.
I didnt see much difference
The practical implementation of D7 has bee http://www.drupalgardens.com and except for the first time loading that takes few seconds more than normal pages, which is well within tolerance limit, I didnt find D7 to be any slow.
It might be the problem with system configurations for those who found it to be slower.
There are some limitations to shared hosting - agreed. But it will take some time to address such issues.
Thanks that you people have put this topic so that the developers will look into it. But if we dont configure the basic settings that are way different for various platforms and change from application to application, we cant simply blame this inability of ours onto the software that is relied upon by millions.
The Drupal Gardens website
The Drupal Gardens website itself is running on Drupal 6, not Drupal 7. (Sites you create from there are Drupal 7, though). Overall, though, you can't tell much about Drupal's performance as a whole from looking at any single site.
In general, slowness you see the first time you visit a site - especially as an anonymous user when the site has plenty of caching - is due to front end performance (e.g., image sizes, the amount of JavaScript and CSS, etc).
Interestingly, front end performance is something that hasn't really come up in this thread, although it tends to be more important in many cases than server performance (in terms of the actual perceived speed of your site noticed by site visitors). Drupal 7 has a number of big front end performance improvements. I wonder if anyone has done any benchmarks around that, comparing it to Drupal 6.
I have a D7 blog on shared
I have a D7 blog on shared hosting at Siteground and i haven't thought for a second it was performing slowly. D7 is awesome.
blog load time..
#Nickhead, not sure about that. The timer I have in Firefox says http://robotlikehuman.com/ loads in 8 seconds (with just under 400k of content on the homepage). I wouldn't be happy with that experience for a first time visitor & I suspect Google wouldn't either.
I recently optimised a small D6 site on shared hosting & reduced uncached page load from 8-10 secs to 2 seconds using all the techniques that Wim Leers has described. If you've already done the best you can & we're still talking 8 seconds, then I'd feel let down. Thing is, once you've used the new management features and interface, D6 feels pretty backward - but not so much you'd put up with major slowness like this.
What is deafening is the silence in this thread from the really high profile members of the community who put so much effort into the D7 launch.
This is a crucial issue: is it just me or does this feel a bit like a conspiracy amongst those in the know?
Looking in the wrong place
Before you start spreading FUD, you should perhaps look a bit further than the forums.
http://drupal.org/project/issues/search/drupal?version[0]=7.x&issue_tags...
Clearly a lot going on..
..and I readily take that point. However the folk posting above are just giving their honest experiences (and clearly know how to use Drupal issue queues). But they probably hoped a major release wouldn't require so much patching in order to make it perform like the previous version - naive I guess :-)
If this is just the usual new version release pain, then we should put this on ice and re-visit in the summer.
Naaa
#billmp123: Just checked robotlikehuman.com on Chrome's timeline tool thing (whatever it's called) and it's coming in at 1.7 to 2.7 seconds.
I haven't done any optimization yet.
I do agree that D6 feels backward after you get used to the new management and interface.
I am concerned...
As I am spending money on a per-click campaign I am noticing the difference. Google has my landing page loading time categorized as 'poor' and this is a case where it is costing me real money because I am being penalised for ad placement as a result of this.
I ran a similar campaign on D6 last November and everything was OK although on the slow side.
I know that it has been my decision to use Drupal above other (often paid-for) technologies for this project, and I also know that it was a risk to use D7 when it is hardly out of its wrappings. I think that I will have to go semi-dedicated at least to offset the speed drop. It is not a high traffic site (so I don't need it sitting on its own server), which is why every single visit counts.
D7 is indeed slow, though not a deal breaker by any means.
I'm building a simple photo gallery / showcase site for my sister, a semi-pro photographer. Just for fun, I built the same functionality into two builds, one D6 and the other D7. Both are on shared hosting, because I don't expect her site to blow up out of control. No special caching/optimization systems, other than Drupal's own.
Without any content except for a couple test nodes, D7 is noticeably slower to load anything: front page, sample photo page (same photo/text on both), featured photos page (a simple View), etc etc. Mind you, I built them in parallel, starting from clean installs. And the D7 version has far fewer modules installed -- but then a bunch of stuff made it into core.
I didn't run any scientific tests or compare the logs or anything, because if I can see it with naked eyes, I don't need to see any logs to know that's a pretty big difference. I thought I was just trippin out until I began Googling and saw this and other threads.
Despite the difference, though, I'm going with the D7 site, and will polish it up before handing it off to my sister (the Client). Why? Because it's prettier, and it's easier to use, and my not-so-tech-savvy sister will have a better time using it. For her and for many other folks like her, I believe the ease of use is more important than lightning fast load speeds. They don't even know what load speeds are. And guess what, when and if my sister's portfolio begins getting mad traffic, I'll migrate the site to a proper server, and by then her hobby will easily cover the increased hosting costs.
Worried Google is pushing your rankings down? Egads, spend a couple bucks on better hosting. You gotta spend money to make money sometimes, and business people will understand that point if the developer explains it clearly. I've never had trouble convincing the client of this fact when necessary, and Drupal has too many other benefits over Wordpress for this to be a deal breaker.
I think D7 is going in the right direction, personally, and also I have no doubt the leadership and community together will eventually fix the existing issues.
---
In the end, though, I'm super biased, because I'm pretty much a Drupal groupie. I've been using it since 4.7, and professionally since 5.x something, I forget. I don't touch Wordpress unless clients specifically ask for it. Joomla? Expression Engine? Please.........
I also agree with ColdSun that "Drupal is a framework that works as an out of the box CMS, not the other way around." Well put.
Configuration Problems
I've installed D7 on my local XAMPP and a fast dedicated Server and on both on them it run not really fast. (It should, both have at least a Quadcore!) So I stumbled upon this thread.
Well, I've solved my Performance Issues and the Problem for me was a very insane Standard Webserver Config.
It seems that MySQL comes with a config preset that is optimized for Webservers with 64-128MB RAM. And InnoDB doesn't start at all, if I tried to it wouldn't work. But still, InnoDB Tables work, but are incredible slow.
So my solution to this Problem was that I optimized my.cnf a bit (but couldn't activate InnoDB sadly). And I converted all my InnoDB Tables to MyISAM which seems to be more forgiving with bad configuration. (HeidiSQL is a great tool for things like that)
What happend was a Performance-Boost that I didn't expect:
Before a D7 Site took an average 3 secs to load, Admin Sites about 5-80 seconds.
After those config changes a normal site loads in 150-300ms and even complex Admin Sites within a few secs, sometimes less than a sec!
Devel Performance Logging showed me that some queries (especially for the cache tables) run after conversion to MyISAM about 100(!) times faster.
Also I've installed APC but this didn't matter very much anymore. (Didn't change much)
So now I have a LIGHTNING fast Drupal7 install.
So maybe some PPL have this Problem: Drupal6 uses MyISAM by default so you won't get much performance issues with bad(=standard) Webserver Configuration. Drupal7 expects a more modern Webserver (which is a good thing!) and if your Webserver doesn't meet sane Configs the Performance will be very bad.
I hope this is helping some Folks out here ;)
Simon
Now I've tryed to solve the
Now I've tryed to solve the configuration Problems with XAMPP 1.7.7 (which was also optimized for 64MB RAM). I've got InnoDB working aswell and installed APC:
D7 Startsite with a few 3rd Party Modules: (Views etc.)
Executed 28 queries in 6.07 ms. Queries exceeding 5 ms are highlighted. Page execution time was 95.62 msD7 Module Overview:
Executed 79 queries in 24.12 ms. Queries exceeding 5 ms are highlighted. Page execution time was 1077.42 ms.So here aswell, D7 runs very fast with an optimized Apache Stack.
(I didn'd do any nerdish optimisations - just basic stuff without getting to near to my limits)
Greets,
Simon
why dont you install boost
why dont you install boost module, i installed it on d7, many modules and it runs very good and fast, i use bluehost and it works fine
Drupal webdesign - regular sites and ubercart ecommerce sites
Drupal webdesign
Boost on shared hosting as well
Yes, Boost (performance module) is excellent for sites on shared hosting or low RAM VPS as well. Probably it should be included in core.
Other solutions such as APC, memcached (if enough RAM), etc. are more for VPS and dedicated.
I was able to make my Drupal 7 faster - VOTE FOR DRUPAL QUICKER
Hello all
I BELEAVE DRUPAL SHOULD ALSO HAVE A QUICKER TEAM as it has a SECURITY TEAM! This team should have only one task - "is this function really necessary?" how it influence the drupal processing time....
I have read your posts and for the first time I take a look to Wordpress.... THAN I HAVE FOUND a solution to make my DRUPAL 7 Faster - I HAVE DISABLED ALL MODULES! (or almost all). Please try it! In fact I haven't disabled block, menu and user which I really need. (Now I have a drupal framework which is almost as quickly as wordpress... almost)
I have written an issue to drupal7-dev in which I asked core developers to try solutions to make modules lighter and to have modules with a lot of sub-modules to leave us the possibility to enable only what we want ... the issue was closed (won't fix) drupal.org/node/1435594 and moved to drupal8-dev, but I was encouraged to get involved with the Drupal 8 development... I really need a quicker drupal7 until drupal8....
What should I say: I'm not so confident I'm good enough for that but I'll try. I'm also encouraging all of you who want a quicker drupal to look at drupal files. I'm confident that a lot of tasks can be optimised in drupal7!
FOR EXAMPLE: I have looked on how drupal7 manage blocked IP addresses.... a lot of variables and constants are declared before, at least 2 functions etc. In my opinion that should be a very simple task: include settings.php, verify user ip (ip_address()) and compare it with some values in settings.php (I think database solution should be eliminated in order to make drupal quicker) and THEN define DRUPAL_ROOT, include bootstrap and so on.... You may also look at drupal_block_denied function... why it use check_plain and ip_address()? Are these functions really necessary? I'm sure NOT! We can write "Sorry your IP is banned!".
Of course my observation is not so important for drupal7 speed (but it will give us some ms less processing time), but this example point on some aspect: a lot of functions are used even they are not necessary! .... so drupal is slower that it can be!
PLEASE VOTE WITH ME FOR A DRUPAL QUICKER TEAM! I don't know much about how SECURITY TEAM works but I'm confident we need a DRUPAL QUICKER TEAM!
Thank you for your time!
Yes...seems to be very slow.
Yes...seems to be very slow.
Drupal 7 is done. You are
Drupal 7 is done. You are free to propose improvements to Drupal 8.
You will find though that once you start actually discussing what should be cut, the situation is very murky and subjective.
There is a big effort in Drupal 8 to move towards autoloaded code, and to stop including everything all the time.
That is not something that can be done without rewriting Drupal core, hence it being Drupal 8 material only.
Still, most people on this thread actually need all the mentioned heaviness, so for them it rarely matters.
For them what matters is additional caching.
Why not have a drupal speeding team?
Thank you for your replay.
You are right. Drupal 7 is already done for a while. Drupal 8 will be done soon and so on ... but each time when a new module, a new patch will be made for Drupal I think it should be also verified by a speeding team (as security team look for security breaks.... speeding team have to look for speeding Drupal).... and that for all active drupal branches (even 6 in our case).
I'm sure core developers and all developers are trying to make better code, without any security breaks and as speedy as posibile but I beleave we'll still need a speeding team as we need a security team...
.
Sure, a performance team would be great. Would be lovely to have a dedicated group of individuals that spend their time making sure Drupal is as fast as it can be.
Ok, now, who is going to gather these folks? Who's going to pay them for their time? You're expecting them to work for free? You just made the finding people a lot harder. Are you going to lead the initiative?
This isn't sarcasm; it's reality. It's all fine and good to say "Drupal needs" but, if you want that to be more than just idle wishing, someone needs to do the work. Are you volunteering? If so, step up and get an initiative going. If not, well, it's a pleasant daydream at least.
Michelle
And it's not like discussions
And it's not like discussions on performance don't happen during development. If they didn't, we wouldn't have caching and aggregation functions built into core.
Contact me to contract me for D7 -> D10/11 migrations.
JIT module loading would be
JIT module loading would be great - or at the very least modules per theme, so you can have all your juicy admin helper modules only be loaded on the admin theme instead of on every page.
Is anyone putting form API into objects? Its so very easy to hit hard memory limits on how many elements you can have on a form because the render arrays are so massive, and they get duplicated by php. Objects are passed by reference so you'll get a massive gain there from just not copying things all the time. Needing to increase php memory as a single form grows when the rest of the site needs far less memory seems wrong.
Caching path lookups per role is another place for serious optimisation, especially as that url alias table grows.
One node table per content type to stop that monolithic table would be fantastic.
The list goes on. Very tempted to modify this in our own local copies of d7 for the performance gain.
Of course I'm not in the core developer inner circle so I have no idea how you'd get this sort of thing into drupal core as a mere end user ...
.
Same way as everyone else: submit a patch. There is no "inner circle". There are people who have worked hard on core and, by doing so, become recognized as important in the community. But a patch is a patch whether it is from chx or joe newb. Anyone can contribute.
Michelle
[Edit: Me and my name issues... sigh... just had the "Doh!" moment where I realized who I'm talking to. Well, anyway, this post is here for the benefit of people who might actually not already know this. :P ]
Yeah, but its a bit
Yeah, but its a bit demoralising when you submit an issue (not a patch) and it sits there for close to a year being argued over whether it is even an issue or not and never gets acted on while you have to keep explaining to n00b after n00b that its just a weird bug with drupal you hope someone will fix (submitting a patch isn't a fix until its committed), or you spend hours submitting a patch that you consider critical and it doesn't sit there for much less time, and in the months and months while you're waiting you have to keep patching your own core as it gets upgraded, or just pointing people at a sandbox module that fixes a core problem. I think if we were 'known' people higher up might pay more attention.
Eg this one, its a trivial issue, reported well over a year ago and patched months ago http://drupal.org/node/1041580 and it fixes not a critical problem but one that could stop an IIS user from using drupal because this is such a laughably simple error. It is trivial, 100% fixed and could have been fixed and closed the day I reported it. Maybe it will be fixed by 2013 ... now imagine if this was a bit more important than simply drupal 404ing a file that exists. We're willing to put up with patching this one ourselves on every new drupal install we make, but maybe other people just have a laugh at drupal and go install some other CMS instead.
Some other quite interesting core performance bugs are just so complicated and entrenched we haven't sank the hours into finding the cause, and they are quite hard to replicate, the worst I've found I've only seen a few people with the same problem, and because it is so fundamental (its a FAPI bug/feature/issue) the biggest catch is if we did submit a patch for it, maybe we do it the "wrong way" and people further up don't agree with how we've done it and the fix doesn't go in. Or someone higher up thinks it works as designed and its the end user who has the problem or something. I haven't even posted an issue for that particular one as I don't know the cause and an issue that reads "FAPI appears to have an awful memory leak" noone is going to look at.
Its just such a painfully slow and complicated process to change anything in drupal core honestly we're very much put off by the process and aren't keen to actually contribute knowing it might end up being pointless.
I found a whole thread on this the other day and while I agree wholeheartedly with that thread since we are exactly the kind of people that are turned off core contribution by how hard it is to fix drupal when you're not 'inner circle'. Drupal is NOT friendly to user contributions.
Hi. I might be a n00b as you
Hi. I might be a n00b as you say, started to contribute to the core a while ago and I'm not part of the "inner circle" as you call it. But in my experience contributing to core is not that hard. Actually it's not hard at all. I've found the core team to be friendly and willing to listen and help, and by being on IRC I could be more in touch with everybody working on core, which helped getting patches commited.
I personally wouldn't give anyone (e.g. myself) permission to commit to core since I understand how that could really mess things up.
My approach is to try to help the development of Drupal and so far I have the feeling that everybody is doing their best to move drupal forward.
If you have a patch that needs to be commited, you should come by #drupal-contribute during office hours and ask for someone to review it. That usually helps a lot and there's plenty of people in there willing to help.
Thanks for showing your concerns about Drupal, that indicates that you're interested and commited to help, so, see you in the IRC!
My experience with the users
My experience with the users who contribute to core hasn't been as an outsider who is looking for a way to get involved only to be ignored or belittled. I have only been in the Drupal community for a year now and I've had a great deal of opportunities to contribute and have other core contributors help out along the way. Core office hours is a good venue for core issues to be addressed.
I haven't witnessed an elitist mentality at all, I just wouldn't have lasted in the community had that been the case. From what I've observed, the "inner circle" devotes valuable time and energy to better both core and community. I think that practically some users in the community get things accomplished because they are very active in helping others with issues and in turn receiving rallying support with issues. That's the nature of an open source community and it's a strength. Of course, there are always going to be issues and growing pains with Drupal. Getting newcomers like myself and others interested in more than just using Drupal to making Drupal better is key.
A few insights...
Interestingly enough, I found this thread while searching on Google for:
I've really been struggling with the performance of Drupal 7 and I knew that my knowledge would probably not be good enough to install and get working memcached or Authcache. However, I do have my own VPS (at servint.net) though and I can justify the cost every month by hosting some client sites which works out really well.
I have been researching and studying the performance issues associated with Drupal 7 immensely and found some solutions that were not too hard to implement. To start, I had my web host install APC on my server and then I installed the Drupal 7 APC module. It was as easy as enabling it and putting in a few lines of code in settings.php. I also am using File Cache, Boost and Entity Cache. Those are all pretty easy to get going too. In addition, I have set my Views to be cached.
Once this was done, I fired up Google Speed Tracer and was really impressed with the results. They have a nice video that says users generally start to get impatient with page load after 100 milliseconds and for the most part my backend and front end while logged in was pretty good and well within tolerances whereas before I did all this, it was not. I know all this seems like overkill and it did take me several days to figure out a lot of this but now I can implement on future sites without having to do all the research, it's in my tool kit so to speak.
So the bottom line is, after all this I really have noticed a nice speed gain with a particular Drupal 7 site I am developing right now. It's a multi-lingual / responsive style design site so it uses a lot of resources. Note with Boost in particular and non logged in users (which is usually the case for the type of sites I tend to develop) my pages load in a split second. I highly encourage checking out Boost, it's actually easier to configure in Drupal 7 then it was in 6, far less bloated IMO.
Danny Englander | Twitter | Instagram
Nice success story. If you
Nice success story.
If you have a VPS which happenes to be on a 64bit OS installing Varnish is not difficult, and gives good rewards, though there have been issues with the Varnish 3 config. file (see Varnish module queue).
Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors
I've followed these tips on a
I've followed these tips on a D7 site I'm working on and installed APC, entitycache, filecache and boost, and the site is definitely very fast. Page load speeds are about 25% of what they were before I started. Even faster for users who are not signed in.
Contact me to contract me for D7 -> D10/11 migrations.
I just found my sites
I just found my sites increased in speed last night after installing libaio and the mysql version to go with it. Not that I know anything about it.
Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors
Change the database ASAP
Drupal need to change / expand database choices. MySQL for me is too slow, if you have a lot of multiple queries going on, especially multi table queries. I really hoped that Drupal 8 they have a DB option where it will include NoSQL DB as well.
It is an active area, and I
It is an active area, and I am sure if you are able to contribute to the efforts to make the D8 db layer pluggable, your help will be very welcome.
Are you using nosql for D7? It is of course somewhat limited: http://drupal.org/project/mongodb.
There is an update on pluggable db layer in core here http://www.drupal4hu.com/node/340 and details in the api, e.g.
http://api.drupal.org/api/drupal/core%21vendor%21symfony%21http-kernel%2... and elsewhere.
Of course if you are still using MySQL good tuning of your database server, and fast hard disks, helps.
Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors