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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
270
Other Decks in Programming
See All in Programming
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
290
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
340
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
330
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
320
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
340
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
190
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
140
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Are puppies a ranking factor?
jonoalderson
1
3.7k
WCS-LA-2024
lcolladotor
0
730
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
360
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
350
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
390
Designing for Timeless Needs
cassininazir
1
380
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
400
Why Our Code Smells
bkeepers
PRO
340
58k
Color Theory Basics | Prateek | Gurzu
gurzu
0
390
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 ?