This group is dedicated to solutions and approaches for high traffic, high performing Drupal sites. As such, it will deal with a lot of information around the rest of a typical Drupal "stack" -- the operating system, web server, database, and PHP tweaks that combine to support the Drupal application.
This is not a support channel or a place to post bug reports.
If you think you have found a bug, use the issue queue for the appropriate project.
If you need support, see http://drupal.org/support for options.
THIS DOCUMENTATION IS DEPRECATED!
Refer to the new wiki for better docs. This page is here for posterity.
Here are step-by-step instructions for building Project Mercury on a fresh server using the configuration manager BCFG2. Project Mercury has been developed on AWS ec2 but should work on Rackspace and many other VPSs. We have public AMIs available of Ubuntu Jaunty versions (in both 32 and 64 bit flavors) - see http://getpantheon.com.
This is a wiki page which I'll will try to keep up to date as the project evolves. Please feel free to comment, add notes, and correct any mistakes you see. For the BCFG2 version of these instructions (and pre-made, ready-to-go AMIs), see http://groups.drupal.org/node/50408
3/2/10: 1.0 updates
1/11/10 Explain how to configure the external caching backend on Drupal.
12/2/09 Mercury 0.81
11/19/09 Mercury 0.8-Beta
11/14/09 Restructured instructions
10/22/09 Configuration file download instructions
10/8/09 Added Apache Solr to the install
9/20/09 Numerous fixes and the new pressflow BZR location
I'm a Drupal developer and need to know what it costs to set up a high-traffic site (I'll be outsourcing this part of the build). Together with a pretty detailed breakdown of the costs for the different aspects of the build.
(ie: memcache costs £X to setup, Amazon S3 costs £Y to setup & maintain for N gigabytes per month)Read more
Create a module that automatically rewrites various tags with a src attribute to use a subdomain. This
//data1.example.com/sites/all/files/css/mystyle.css. Have it handle the following html tags
Today I'm glad to announce the latest release in this line of AMI development. This update solves a number of issues and moves us one step closer to a sable beta release. The current AMI ID is ami-c353b2aa, and you can find this AMI by searching for "chapter3" or "mercury" in your AWS console.
Below you will find the notes for this release. Also in this post I will include a development roadmap, as well as some more explicit explanation of the techniques I'm using for making the AMI work out of the box.Read more
I'm running a site that has lately been experiencing significant load spikes that appear unrelated to the number of concurrent users.
I'm running apache on a dedicated CentOS server. I've now got Boost and eAccelerator installed. My loads are typically very minimal (< .5), but then spike to over 35 (they were hitting over 100 before I added eAccelerator), at which point I have to restart apache to calm things down.Read more
For sites that like to use a cache to serve the full page (boost, drupal core cache, ect...), but still would like to have more dynamic content in a block; loading of blocks via ajax seems like a good way to accomplish this. I've already accomplished this with the boost module and I'm wondering if/how I should abstract this out to be a generalized solution.
Below is the simple way to do it, for one or 2 blocks it works. For anything more then that it would probably have a negative impact since it's doing a full bootstrap for each block.
Have been doing one project on my spare time, and now as it is 80+% ready, time to think about performance.
http://hotweb.lt - feel free to visit :) It is a site being built on Drigg modules and some complementary ones. Have no plans to use Views or CCK. Maybe in the near future will be some modules for community building. No hacks on Drupal 6 core and no changes to DB structure are made.
Not using APC or eAccelerator.Read more
I have installed Splash Module in Drupal 5, It works fine when page cache is disabled. http://abc.com/home is the Home Page and http://abc.com/intro is the Splash flash page. When I type http://abc.com it takes to the /intro Page for the first time.
When I enable Page cache it always loads the Actual home page(/home) for anonymous Users. When I login it works fine.Read more
I'm trying to add support for X-Forwarded-Proto and Front-End-Https to Drupal. Right now, if you try to run an HTTPS-only site on a reverse proxy that talks to your web servers via HTTP, AJAX callbacks fail because Drupal incorrectly generates a callback URL based on the protocol between the proxy and the web server, not between the client and the proxy.Read more
Executed 82 queries in 198.59 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 474.06 ms.
Executed 450 queries in 312.01 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 750.68 ms.
I would like to know what are your general advices regarding to a multiserver Drupal website that has to deal with a lot of mySQL queries ? What could be the best architecture for heavy load mySQL deployement ?
I think about a mySQL master/slave configuration, with separate hardware. But I heard that Drupal isn't ready to use a real master/slave configuration, and the slave should only be used as fail-over. Could you confirm this ?
I attached my planned architecture with this post.
Thanks a lot for your time
Looking for suggestions for an affordable media hosting service to deploy our streaming video. ( http://www.gazettenet.com )
We have been using YouTube/Vimeo so far, but have requirements now for commercial content that is outside of the licensing for those free services.
Creating Related links todispaly with in the comment.tpl
We are repositioning our related links custom block form ( result fro a view, by passing taxonomy as argument) within node.tpl to comment.tpl. We want to store the taxonomy id for the node in the global variable and use it to generate related links in the comment.tpl section by passing this taxonomy global variable to the view. This is instead of reloading the node to obtaining the taxonomy id.Read more
I am looking for overall site performance aspects as well (i.e. additional CPU time, memory allocation, etc).
During a recent talk by Mr. Tournoud he said that it is beneficial to run squid on the same machine as apache2 since connections that linger keep a thread and a DB connection busy. Putting squid on port 80 and apache2 on 8080 would also give you the ability to serve files directly from squid and apache2 would have less connections.Read more
Inspired by my own work over the past year with Amazon EC2 and this great post from Eric Hammond at Alestic on how to bundle public AMIs, today I released my first public machine image. I call the project "mercury," and the goal is to combine the power of Varnish and Pressflow Drupal in one easy-to-run package.
Why is this important? Because Varnish fills the same role as the Boost module, except it can handle 1000s of requests per second. Your constrained resources are going to be network and bandwidth. Getting it working well takes a bit of doing, but thanks to PressFlow and support from davidstrauss and DamZ, I've gotten a vanilla system working.Read more
I would like to test some caching configuration for my site. Could someone recommend me some tools to test the effectiveness of the site?
Also, if there are known configurations that work for a site with only anonymous users, please let me know! (currently using eAccelerator and Boost).
I have MySQL server running in as local, but I see a server load is very high and queuing all processes, I have about 100,000 rows in node table and taxonomy + 200,000 users. When less than 30 online registered users can handle server well, but when it become over 30 server load is increasing as a hell. I hope having dedicated MySQL server will solve this, is it effect to me? having dedicated MySQL server?.
I'm using APC with cache router.
I'm using Views module to display my contents (Images + Video), I have 50 thumbnails on one page and pagination, I tried Devel and Explain on mysql to get whats going on there
here are the results:
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |