Socket Utilization in Node.js
 

Like this? Share it with your network

Share

Socket Utilization in Node.js

on

  • 262 views

 

Statistics

Views

Total Views
262
Views on SlideShare
254
Embed Views
8

Actions

Likes
0
Downloads
2
Comments
0

2 Embeds 8

http://www.slideee.com 6
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 Presentation Transcript

  • 1. SOCKET UTILIZATION IN NODE.JS Akhilesh Gupta @agupta03
  • 2. Inefficient use of TCP sockets: Is HTTP keep-alive working?
  • 3. Node’s HTTP module supports keep-alive
  • 4. But there is a catch!
  • 5. TCP Connection kept alive only if PENDING requests in agent queue
  • 6. If requests go out one-by-one Connection closed each time
  • 7. High QPS/Low Latency High time-wait sockets Eventual node CRASH Houston, we’ve had a problem here!
  • 8. NPM Libraries to the rescue!
  • 9. mikeal/request : forever module ceejbot/keep-alive-agent TBEDP/agentkeepalive
  • 10. TUNING UP YOUR F-35! Monitor time_wait sockets ! “If you can’t measure it, you can’t fix it”
  • 11. TUNING UP YOUR F-35! maxSockets ! Concurrent sockets agent can have open/host
  • 12. TUNING UP YOUR F-35! idleTimeout ! Time for which connection is unused before it is discarded
  • 13. THE ENGINEERING HAPPINESS GRAPH
  • 14. 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
  • 15. TUNING UP YOUR F-35! Upgrade to Node 0.5.3+ ! Agent holds sockets for any number of hosts