Download presentation
Presentation is loading. Please wait.
Published byCaleb Syrett Modified over 9 years ago
1
1 Leif Hedstrom Chief Architect, Cisco Cloud Services July 8, 2012
2
2 One of the drivers to Open Source Traffic Server Committer for Apache Traffic Server VP of Apache Traffic Server PMC ASF member Chief Architect, Cisco Cloud Services zwoop@apache.org lhedstro@cisco.com @zwoop +zwoop
3
3
4
4
5
5
6
6
7
7
8
8 index 30ed932..b74defa 100644 --- a/iocore/net/UnixNetVConnection.cc +++ b/iocore/net/UnixNetVConnection.cc @@ -574,6 +574,9 @@ UnixNetVConnection::do_io_close(int alerrno /* = -1 */ ) write.vio.nbytes = 0; write.vio.op = VIO::NONE; + EThread *t = this_ethread(); + bool close_inline = !recursion && nh->mutex->thread_holding == t; + INK_WRITE_MEMORY_BARRIER; if (alerrno && alerrno != -1) this->lerrno = alerrno; @@ -582,11 +585,8 @@ UnixNetVConnection::do_io_close(int alerrno /* = -1 */ ) else closed = -1; - if (!recursion) { - EThread *t = this_ethread(); - if (nh->mutex->thread_holding == t) - close_UnixNetVConnection(this, t); - } + if (close_inline) + close_UnixNetVConnection(this, t); }
9
9
10
10
11
11 To me, it’s a collaborative, community driven way of developing software, services and IT solutions. Tear down the borders (and rifts!) between Development and Operations. Thrives on healthy Open Source communities.
12
12
13
13
14
14
15
15
16
16 Handling thousands of concurrent users Extensible (e.g. plugins, or scripts) Correctness HTTP/1.1 Keep-Alive Chunking etc.
17
17
18
18 ATSHAproxyngin x SquidVarnishmod_proxy Worker Threads YNNNYY Multi-ProcessNYYNYY Event-drivenYYYYsometimesY Plugin APIsYNYpartYY Forward ProxyYNNYNY Reverse ProxyYYYYYY Transp. ProxyYYNYNN Load BalancerweakYYYYY Persistent CacheYNYYsortaY ESIYNNYkindaN ICPYNNYNN Keep-AliveYNYYYY SSLYNYYNY PipelineYNYYNY
19
19
20
20
21
21
22
22
23
23 Server latency 3-Way handshake Congestion control DNS lookups (Page flow)
24
24 Server latency 3-Way handshake Congestion control DNS lookups (Page flow)
25
25
26
26 Server latency 3-Way handshake Congestion control DNS lookups (Page flow)
27
27
28
28 Server latency 3-Way handshake Congestion control DNS lookups (Page flow)
29
29 http://news.example.com/ http://finance.example.com/ http://groups.example.com/
30
30 http://news.example.com/ http://finance.example.com/ http://groups.example.com/ vs http://www.example.com/news http://www.example.com/finance http://www.example.com/groups
31
31
32
32 plaingzip Theoretical limit on 20Mbps78ms15ms Low latency (17ms RTT)182ms105ms High latency (159ms RTT)1,340ms840ms
33
33
34
34 200KB (8 RTs)40KB (5 RTs) 17ms RTT136ms85ms 159ms RTT1,272ms795ms
35
35 A primary tool to fight 3-way handshake latency Helps against congestion control too But not always… Slow starts begins again after some idle time
36
36 IW = min (4*SMSS, max (2*SMSS, 4380 bytes)) (RFC2581) Typically, 2-4 packets
37
37 10
38
38 Addresses many of the problems related to latency Not a standard (yet) SSL requirements, and other quirks, can be a hurdle
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48 Data copies Context Switches Memory allocation Lock contention
49
49
50
50
51
51 http://trafficserver.apache.org/
52
Thank you.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.