…jaykreps : Transferring data across data centers? Read this page and go tune your TCP buffer sizes...
@ gwestr : In which the node community showers schadenfreude upon the rails community for "scalability is not my problem" architectures
@ pbailis : Makes sense, though I think there's a tradeoff re: coordination and scalability (always homogeneous vs dynamically heterogenous)
@ pembleton : To summarize Yoav's philosophy: we …
With the resolved IP address in hand, Chrome can now open a new TCP connection to the destination, which means that we must perform the " three-way handshake ": SYN > SYN-ACK > ACK . This exchange adds a full roundtrip of latency delay to each and every new TCP connection - no shortcuts . Depending on the distance between the client and the server, as well as the chosen routing path, this can yield from tens to hundreds, or even thousands, of milliseconds …
HTTP 1.0/1.1 and TCP performance
SPDY in 10 slides, or less
Performance of Mobile networks
Under the hood of Chrome's network stack
Navigation Timing & Real user measurement ( RUM)
Life of a webpage: DOM, CSSOM, rendering, acceleration
Part two picks up from slide 79 and is focused on the architecture and the execution model of the browser:
Tokenizing, parsing, and construction of the DOM
Building the Render Tree ( DOM and CSSOM…
Instead of relying on TCP with its long connection handshakes and timeouts, StatsD uses UDP. The processes sending data to it stuff short messages into a UDP socket without worrying about whether or not the data arrives.
If some data doesn't make it because of network issues, that only leaves a small dent. It's more important for the system to serve customers than for it to wait around for the aggregation service to become available again.
While StatsD solves the problem …
Have you ever wondered what port forwarding is or what the difference between local and remote port forwarding is? Port forwarding is a way to forward or "tunnel" TCP traffic through SSH from one machine to another. Using just one line of code, you can create an outgoing tunnel, forward your IP requests over that tunnel, and receive the response. In this way you can pull the data from a remote server to a local server (local port forwarding), and your local machine …
…for this: an average page is composed of many small resources, which require many connections, and TCP performance of each is closely tied to RTT."
Australia is a long way away from Singapore, Japan and the West Coast of America. It's a minimum 8 hours of flight from Australia to any one of those locations. For a humble Internet packet, the minimum latency is a 200ms. From Ilya's math, that means effective web performance is 10 times slower than a 20ms request. …
…running on Azure
An in-memory database
A full blown custom LISP language written in C to implement queries, which is many times faster that having a VM (with a garbage collector) online all the time
Erlang for communication between nodes
Modified TCP TIMEWAIT LEN for an astonishing drop of 40K connections, saving on CPU, memory and TCP buffers For more information on the BugSense architecture please keep on reading...
I can run the client outside the root because I'm connecting over TCP, though there might be some cases where it's helpful to also run that in the root. However, in my case the openssl s_server quickly and efficiently told me everything that was wrong. This included (as the Ops geniuses out there have already been screaming):
a big pile of libraries missing from the chroot
the absence of /etc/pki/tls/openssl.cnf (though I'm not convinced that's necessary)
that I needed …
Working with TCP Sockets: Jesse Storimer's New Ruby E-Book
Jesse Storimer ('Working with Unix Processes') has released his latest book, Working with TCP Sockets. If you want to learn more about socket programming from a Ruby POV, check it out.
A superb Rumble with 500 teams taking part and findthin.gs, a TV series and movie search tool, took the lead with the judges, with ' Deploy Button' being …
…CDN Planet have already done an awesome job explaining how to tune TCP initcwnd for optimum performance . This is not an issue for us because the 3.5 kernel's default window size is already set to 10.
Window size after idle
Related to the above is the sysctl setting net.ipv4.tcp_slow_start_after_idle . This tells the system whether it should start at the default window size only for new TCP connections or also for existing TCP connections that have been idle for too …