erlang web framework: chicago boss
DESCRIPTION
Presentation at BarcampSaigon 2013 - RMIT 7th July Presenter: Cường TháiTRANSCRIPT
1. Why Erlang?● concurrency● distributed● fault-tolerance
2. Are you kidding me?● 10 times faster than PHP● c10k, 1000msg/sec, 24hours, 78Mb
3. Database-driven website.
Content
Concurrency
Concurrency for our web applications and API backends means that we'd like our htop look like this
Concurrency
Erlang is easy capable of spawning hundreds of thousands of processes on a single system running on commodity hard-ware.
Distributed
You can have a number of machines across net-work happily chatting with another.
Bill Zoey
Rick Daryl
Distributed
Process communication by copying
Location transparency (clustering)
Bill Zoey
RickRickRickRickRickRick Daryl
Fault-tolerance
Fault-tolerance
Fault-tolerance
Fault-tolerance
Fault-tolerance
Are you kidding me?
“With PHP framework you typically see page generation times between 150 and 600 milliseconds. Zotonic has a typical page generation time of 10 milliseconds or less.”
How about you, Chicago Boss?
siege -c15 http://localhost:8001/admin -b -t30s
** SIEGE 2.72
** Preparing 15 concurrent users for battle.
The server is now under siege...
Lifting the server siege... done.
Transactions: 21144 hits
Availability: 100.00 %
Elapsed time: 29.12 secs
Data transferred: 116.59 MB
Response time: 0.02 secs
Transaction rate: 726.10 trans/sec
Throughput: 4.00 MB/sec
Concurrency: 14.98
Successful transactions: 21144
Failed transactions: 0
Longest transaction: 0.05
Shortest transaction: 0.00
siege -c150 http://localhost:8001/admin -b -t30s
** SIEGE 2.72
** Preparing 150 concurrent users for battle.
The server is now under siege...
Lifting the server siege... done.
Transactions: 20247 hits
Availability: 100.00 %
Elapsed time: 29.32 secs
Data transferred: 111.64 MB
Response time: 0.22 secs
Transaction rate: 690.55 trans/sec
Throughput: 3.81 MB/sec
Concurrency: 149.36
Successful transactions: 20247
Failed transactions: 0
Longest transaction: 0.46
Shortest transaction: 0.01
Are you kidding me?
metabrew.comRichard Jones co-founded and was CTO of last.fm for 6 years
Database-driven website
● Hello World page● Hello World JSON● Hello World template● BossMQ
Q & A
Thank you for your attention!
Ref.● learnyousomeerlang.com
● Erlang and OTP in action (Martin Logan, Eric Merritt, Richard Carlsson)
● metabrew.com
● infrequently.org/2006/03/comet-low-latency-data-for-the-browser/
● zotonic.com/features
● github.com/evanmiller/ChicagoBoss/wiki/An-Evening-With-Chicago-Boss