Socket Utilization in Node.js
 

Socket Utilization in Node.js

on

  • 236 views

 

Statistics

Views

Total Views
236
Slideshare-icon Views on SlideShare
230
Embed Views
6

Actions

Likes
0
Downloads
2
Comments
0

2 Embeds 6

http://www.slideee.com 4
http://meem.greyshare.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Socket Utilization in Node.js Socket Utilization in Node.js Presentation Transcript

    • SOCKET UTILIZATION IN NODE.JS Akhilesh Gupta @agupta03
    • Inefficient use of TCP sockets: Is HTTP keep-alive working?
    • Node’s HTTP module supports keep-alive
    • But there is a catch!
    • TCP Connection kept alive only if PENDING requests in agent queue
    • If requests go out one-by-one Connection closed each time
    • High QPS/Low Latency High time-wait sockets Eventual node CRASH Houston, we’ve had a problem here!
    • NPM Libraries to the rescue!
    • mikeal/request : forever module ceejbot/keep-alive-agent TBEDP/agentkeepalive
    • TUNING UP YOUR F-35! Monitor time_wait sockets ! “If you can’t measure it, you can’t fix it”
    • TUNING UP YOUR F-35! maxSockets ! Concurrent sockets agent can have open/host
    • TUNING UP YOUR F-35! idleTimeout ! Time for which connection is unused before it is discarded
    • THE ENGINEERING HAPPINESS GRAPH
    • Normal agent: Keep alive agent (30 seconds): Transactions: 60000 hits! Availability: 100.00 %! Elapsed time: 46.53 secs! Data transferred: 14.88 MB! Response time: 0.05 secs! Transaction rate: 1289.49 trans/sec! Throughput: 0.32 MB/sec! Concurrency: 59.81! Successful transactions:60000! Failed transactions: 0! Longest transaction: 0.45! Shortest transaction: 0.00 Transactions: 60000 hits! Availability: 100.00 %! Elapsed time: 29.70 secs! Data transferred: 14.88 MB! Response time: 0.03 secs! Transaction rate: 2020.20 trans/sec! Throughput: 0.50 MB/sec! Concurrency: 59.84! Successful transactions:60000! Failed transactions: 0! Longest transaction: 0.15! Shortest transaction: 0.01
    • TUNING UP YOUR F-35! Upgrade to Node 0.5.3+ ! Agent holds sockets for any number of hosts