erlang web framework: chicago boss

Post on 12-Jan-2015

1.936 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentation at BarcampSaigon 2013 - RMIT 7th July Presenter: Cường Thái

TRANSCRIPT

Erlang Web Framework

Cuong Thaiwww.htk-inc.com

bronzeboyvn@gmail.com

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

top related