Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Drupal Server Performance
Search
Eidolon Night
April 29, 2013
Programming
320
1
Share
Drupal Server Performance
How to quickly boost your Drupal performance using simple infrastructure tweaks.
Eidolon Night
April 29, 2013
More Decks by Eidolon Night
See All by Eidolon Night
STEAM: Professional presentation for coding
eidolonnight
0
170
DrupalCamp 2014: Drupal Business
eidolonnight
0
260
Online Church
eidolonnight
0
280
Webifying Local Communities
eidolonnight
0
320
How to Choose a Web Developer
eidolonnight
0
260
BarCamp 2010: Automatic Content
eidolonnight
0
270
Why Drupal Rocks
eidolonnight
0
320
Computer Science Capstone Project
eidolonnight
0
260
Other Decks in Programming
See All in Programming
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
370
3Dシーンの圧縮
fadis
1
560
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.4k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
150
RTSPクライアントを自作してみた話
simotin13
0
410
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
19
7.8k
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
1
430
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
130
誰も頼んでない機能を出荷した話
zekutax
0
160
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.2k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
260
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
410
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
Testing 201, or: Great Expectations
jmmastey
46
8.2k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Between Models and Reality
mayunak
4
320
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Thoughts on Productivity
jonyablonski
76
5.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Odyssey Design
rkendrick25
PRO
2
660
A Soul's Torment
seathinner
6
2.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Transcript
Drupal Server Performance with a focus on Drupal and other
database-intensive PHP applications
Who is this guy? irl: Nicholas Garofalo d.o: Eidolon Night
8 years of development experience CTO at WebOzy, Inc. in Batavia
[email protected]
A good host invest in a good host or it
will haunt you the entire project options: Pantheon Acquia DIY (VPS or dedicated) EVERYTHING else sucks (by our standards) • that includes: shared AND cloud
Managed Hosting use this if you: need someone to blame
have no time to maintain want tight integration and can sacrifice flexibility
Acquia the enterprise guys with a crappy sales department
Pantheon the new kids on the block
UN-Managed Hosting use this if you: kick ass have time,
but not much money need to run other stuff want a really custom environment
Beware xen vs vmware vs virtuozzo multi-server setups
Linode for the Do It Yourselfers
Deployment make it easy automate DeployButton.com github.com/WebOzy/auto-deployment
Linux minimal installs rule Adjust swappiness to keep things in
memory sysctl -w vm.swappiness=25 RTFM - man pages rock
max clients = available memory / average size of apache
process spare clients depends on traffic patterns keep alive
use the latest version or MariaDB innodb is now default
in D7 (use it if you’re not already) innodb_buffer_pool_size http:/ /drupal.org/project/dbtuner
max_execution_time memory_limit load the modules page with all your modules
and you’ll quickly discover if this is too low... or clear the cache and load a massive View
APC apc.stat just leave it enabled shared memory make it
big enough so as to not have fragmentation
Memcached high-performance, distributed memory object caching system let’s you quit
using the database (disk) for caching http:/ /drupal.org/project/memcache
Varnish config: https:/ /fourkitchens.atlassian.net/wiki/ display/TECH/Configure+Varnish+3+for+Drupal+7 module: http:/ /drupal.org/project/varnish (Pressflow needed
for Drupal 6) provides page and asset caching C-like syntax
makes sites friggan fast saves bandwidth added security costs nothing
None
settings.php $conf['reverse_proxy'] = TRUE; $conf['reverse_proxy_addresses'] = array('127.0.0.1'); // define cache
backends $conf['cache_backends'] = array('sites/all/modules/ memcache/memcache.inc', 'sites/all/modules/varnish/ varnish.cache.inc'); // memcache will be our default $conf['cache_default_class'] = 'MemCacheDrupal' $conf['memcache_key_prefix'] = 'livebatavia'; // Varnish can handle the page cache $conf['cache_class_cache_page'] = 'VarnishCache';
Scaling and High Availability take everything you learned here make
more load balance
QUESTIONS ?