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
0
89
Shellac: a distributed web accelerator
Shellac is an HTTP/1.1 distributed caching proxy for Linux.
Kalan MacRow
December 10, 2013
Tweet
Share
More Decks by Kalan MacRow
See All by Kalan MacRow
Vaportrail
kmacrow
0
60
Recognizing Contextual Polarity (Wilson et. al., 2009)
kmacrow
0
57
C Programming on Linux
kmacrow
3
160
Literati Proposal: Literature Recommendation and Difficulty Analysis
kmacrow
0
46
CSCW: Colocated Asynchronous Applications
kmacrow
1
350
Streaming Video
kmacrow
1
160
Data Interchange Formats
kmacrow
0
3.6k
Automatically Generating User Interfaces
kmacrow
1
76
Other Decks in Research
See All in Research
Tiaccoon: Unified Access Control with Multiple Transports in Container Networks
hiroyaonoe
0
820
CoRL2025速報
rpc
4
4.4k
Dwangoでの漫画データ活用〜漫画理解と動画作成〜@コミック工学シンポジウム2025
kzmssk
0
140
Collective Predictive Coding and World Models in LLMs: A System 0/1/2/3 Perspective on Hierarchical Physical AI (IEEE SII 2026 Plenary Talk)
tanichu
1
270
Agentic AI フレームワーク戦略白書 (2025年度版)
mickey_kubo
1
130
SREはサイバネティクスの夢をみるか? / Do SREs Dream of Cybernetics?
yuukit
3
420
【SIGGRAPH Asia 2025】Lo-Fi Photograph with Lo-Fi Communication
toremolo72
0
120
AIスーパーコンピュータにおけるLLM学習処理性能の計測と可観測性 / AI Supercomputer LLM Benchmarking and Observability
yuukit
1
700
Ankylosing Spondylitis
ankh2054
0
140
英語教育 “研究” のあり方:学術知とアウトリーチの緊張関係
terasawat
1
300
ウェブ・ソーシャルメディア論文読み会 第36回: The Stepwise Deception: Simulating the Evolution from True News to Fake News with LLM Agents (EMNLP, 2025)
hkefka385
0
200
財務諸表監査のための逐次検定
masakat0
1
270
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
130
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Odyssey Design
rkendrick25
PRO
2
530
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
180
Balancing Empowerment & Direction
lara
5
920
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Ruling the World: When Life Gets Gamed
codingconduct
0
160
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Leo the Paperboy
mayatellez
4
1.5k
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