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
Shellac: a distributed web accelerator
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kalan MacRow
December 10, 2013
Research
92
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Shellac: a distributed web accelerator
Shellac is an HTTP/1.1 distributed caching proxy for Linux.
Kalan MacRow
December 10, 2013
More Decks by Kalan MacRow
See All by Kalan MacRow
Vaportrail
kmacrow
0
63
Recognizing Contextual Polarity (Wilson et. al., 2009)
kmacrow
0
62
C Programming on Linux
kmacrow
3
160
Literati Proposal: Literature Recommendation and Difficulty Analysis
kmacrow
0
50
CSCW: Colocated Asynchronous Applications
kmacrow
1
360
Streaming Video
kmacrow
1
160
Data Interchange Formats
kmacrow
0
3.6k
Automatically Generating User Interfaces
kmacrow
1
80
Other Decks in Research
See All in Research
YOLO26_ Key Architectural Enhancements and Performance Benchmarking for Real-Time Object Detection
satai
3
800
東京大学工学部計数工学科、計数工学特別講義の説明資料
kikuzo
0
480
Model Discovery and Graph Simulation: A Lightweight Gateway to Chaos Engineering
anatolykr
0
190
2026 東京科学大 情報通信系 研究室紹介 (大岡山)
icttitech
0
3.7k
[BlackHatAsia2026] Hidden Telemetry: Uncovering TraceLogging ETW Providers You're Not Using (Yet)
asuna_jp
1
520
AI Agentの精度改善に見るML開発との共通点 / commonalities in accuracy improvements in agentic era
shimacos
6
1.7k
COFFEE-Japan PROJECT Impact Report(Uminomukou Coffee)
ontheslope
0
180
衛星×エッジAI勉強会 衛星上におけるAI処理制約とそ取組について
satai
4
550
SAKURAONE:An Open Ethernet-based AI HPC System And Its Observed Workload Dynamicsin a Single-Tenant LLM Development Environment
yuukit
1
320
業界横断 副業コンプライアンス調査 三者(副業者・本業先・発注者)におけるトラブル認知ギャップの構造分析
fkske
0
1.3k
存立危機事態の再検討
jimboken
0
300
論文紹介 "ReSim: Reliable World Simulation for Autonomous Driving"
kogo
0
620
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
A Soul's Torment
seathinner
6
2.9k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
230
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
Transcript
Shellac A distributed web accelerator. Kalan MacRow Data at Scale
‘13
Shellac. (noun) Lac bug resin melted into thin flakes, used
for making varnish Kalan MacRow Data at Scale ‘13
Shellac. (verb) To defeat or beat (someone) decisively Kalan MacRow
Data at Scale ‘13
5.2% of the top 10,000 sites. Kalan MacRow Data at
Scale ‘13
Kalan MacRow Data at Scale ‘13 ! Script interpreters 50+
SQL queries Localization Personalization Template rendering …. ! 3 sec.
• HTTP/1.1 proxy server for Linux 2.5+ • Distributed RAM
cache built on Memcached • Level-triggered edge-polling architecture • 1K lines of Python Kalan MacRow Data at Scale ‘13 Design
Kalan MacRow Data at Scale ‘13 “The key to making
programs fast is to make them do practically nothing” — Mike Haertel, original author of GNU grep Design
Kalan MacRow Data at Scale ‘13 • I/O bound and
largely avoids the GIL • Substantial function/method/syscall call overhead • Iteration with while, for expensive • Event dispatch really suffers, but… Design
Load Balancer Web Server Accelerator Cache Web Server Accelerator Cache
Web Server Accelerator Cache Typical HA Kalan MacRow Data at Scale ‘13
Shellac HA Kalan MacRow Data at Scale ‘13 Load Balancer
Web Server Shellac Web Server Shellac Web Server Shellac Cache Dedicated Cache
Kalan MacRow Data at Scale ‘13 • Interested in performance
both • as a proxy / load balancer • as a caching proxy / accelerator • Graphs: best of Apache, Varnish and worst for Shellac over 3 runs Evaluation
Kalan MacRow Data at Scale ‘13 • 4 x m1.large
instances (4 core Xeon, 8GB) • Elastic Load Balancer • Master for running benchmarks • One availability zone, one region
Kalan MacRow Data at Scale ‘13 Evaluation Apache Benchmark (-n
10k -c 1000)
Evaluation Kalan MacRow Data at Scale ‘13 Apache Benchmark (-n
10k -c 1000)
Evaluation Kalan MacRow Data at Scale ‘13 Apache Benchmark (-n
10k -c 1000)
Kalan MacRow Data at Scale ‘13 Static Dynamic 1 Dynamic
2 Requests / sec. (mean) Evaluation 10K requests, 1K clients
Static Dynamic 1 Dynamic 2 Transfer Rate (KB/s) Kalan MacRow
Data at Scale ‘13 Evaluation 10K requests, 1K clients
Static Dynamic 1 Dynamic 2 Peak Memory Usage (MB) Kalan
MacRow Data at Scale ‘13 Evaluation
Kalan MacRow Data at Scale ‘13 Conclusions • Shellac 0.1.0a
is competitive • as a proxy / load balancer • as a caching proxy / accelerator • A C port might shellac Varnish!
Future • HTTP/1.1 compliance • Try with PyPy JIT’ing, eventually
port to C • Binary format for cache entries • Tighter integration of cache node with proxy Kalan MacRow Data at Scale ‘13
https://github.com/kmacrow/Shellac Kalan MacRow Data at Scale ‘13