Відповідь Маркдорісона - це загальноприйнятий метод атаки на цю проблему. Я візьму це трохи далі.
Коли у вас є Pressflow для D6 або Drupal для D7, Memcached і Varnish, що все добре працює разом, вам потрібно буде настроїти код вашого файлу VCL . Є безкоштовні, які створюють вихідні точки, але завжди потрібно грати з ними.
Щоб оптимально працювати Varnish, переконайтеся, що ви запускаєте його з -s malloc xG, а не за замовчуванням файлу -s / path / to / file за замовчуванням. Також у Varnish є статичні елементи кешу лаку настільки, наскільки ви можете.
Якщо у вас є більше одного веб-сервера, видаліть ETag із заголовка, надісланого до Varnish у VCL. Я також видаляю Expires і просто покладаюсь на вік та максимальний вік у заголовках, тому повертайте браузери на сайт.
Версія 1.5 (станом на 3 березня 2011 року) все ще є найшвидшою версією модуля Memcached від Drupal.org. Зазвичай я розгортаю його за допомогою одного кошика на сервері, щоб знизити tcp-трафік для підключення до кількох бункерів у великих масштабах)
Налаштуйте кешування в "Продуктивність" на зовнішнє та встановіть максимальний вік, який надсилатиме правильні заголовки до проксі-сервера кешування, такого як Varnish.
Якщо ви не можете отримати певні сторінки в кеш-пам'яті належним чином, перегляньте публікації в Інтернеті, в яких детально описано, як перевірити запити. Ось приклад публікації, про яку я писав деякий час назад: Що зупиняє використання лаку та Drupal Pressflow від кешування переглядів сторінок анонімних користувачів
Ви повинні вибрати InnoDB (або одне з інших назв інших провайдерів, наприклад XtraDB) для MySQL і перемістити в нього всі таблиці. Потім перегляньте це повідомлення в блозі, щоб отримати основні поради щодо налаштування http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/
Наявність великого буферного пулу принципово важливо. Під час тестування завантаження сайту вмикайте журнал повільних запитів. Ви, напевно, хочете, щоб спочатку запити зйомки займали більше 50 мсек, потім налаштовували запити та повторно зменшували час повільного зйомки журналу до тих пір, поки у вас не буде запущено більшість запитів за допомогою індексів і виконуються досить швидко.
Інші основні аспекти передбачають наявність APC для PHP. Якщо ви перейдете до швидкого CGI, а не mod_php, витрачайте деякий час, намагаючись зробити кеш APC спільним для всіх екземплярів php, налаштувавши хороший сценарій обгортки. Також переконайтеся, що кеш APC знаходиться у файлі, нанесеному на пам'ять, щоб видавити кожен останній біт із PHP.