Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
95
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
74
Recognizing Contextual Polarity (Wilson et. al., 2009)
kmacrow
0
79
C Programming on Linux
kmacrow
3
170
Literati Proposal: Literature Recommendation and Difficulty Analysis
kmacrow
0
56
CSCW: Colocated Asynchronous Applications
kmacrow
1
380
Streaming Video
kmacrow
1
170
Data Interchange Formats
kmacrow
0
3.6k
Automatically Generating User Interfaces
kmacrow
1
93
Other Decks in Research
See All in Research
【中間報告】国会議員の立法・政策実務を支える環境を巡る現状と課題
polipoli
0
770
JPA2026_NetworkTutorial_JunKashihara
junkashihara
0
230
Byzantine Eventual Consistency for Reliable Local-First Software
ept
0
220
【ローカルAIに向き合う展示会vol.2】液体時間定数型モジュールを用いた オリジナルの双方向エンコーダーモデルNexteraBERT 推論速度向上検討並びにダウンストリーム評価
rikkabotan7
0
230
全国町字単位空き家率推定データver1.0データ仕様
microbaseinc
0
290
医療LLMの現在地〜最新研究から社会実装までを考える〜
kento1109
1
1.8k
PHTalks Bengaluru - SSRF When All Else Fails
dk999
0
1.2k
Evaluation génomique des femelles laitières croisées : comprendre la méthode pour accompagner les éleveurs à son utilisation
institutdelelevage
PRO
0
170
湯村研究室の紹介2026 / yumulab2026
yumulab
0
130
OWASP AISVS - C7
shiell
2
830
量子サマースクール2026「量子計算機アーキテクチャ分野の概観」
youten622
1
980
Être éleveur dans un monde en transition : Comprendre les changements pour mieux les accompagner
institutdelelevage
PRO
0
140
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Automating Front-end Workflow
addyosmani
1369
210k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
The Language of Interfaces
destraynor
162
27k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
WCS-LA-2024
lcolladotor
0
890
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Discover your Explorer Soul
emna__ayadi
2
1.3k
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