The following is a draft chapter for the upcoming "The Performance of Open Source Applications" ( POSA), a sequel to The Architecture of Open Source Applications . POSA is a collection of essays about performance optimization, designing for performance, managing performance as part of a development process, and more. The book will be published in Spring 2013 under a Creative Commons license with royalties going to Amnesty International.
…
…equivalent on 3.5, when I came across Vincent Bernat's post on the IPv4 route cache . This is an excellent resource to understand the route cache on Linux, and that's where I found out about the lnstat command. This is something that needs to be added to any monitoring and stats gathering scripts that you run. Further reading suggests that the dst cache gc routines are complicated, and a bug anywhere could result in a leak, one which could take several weeks …
tcpdump replay: IPv4 only
tcpdump replay: no support for server side prepared statements
Build requirements:
libtbb-dev ( Intel Threading Building blocks)
boost (including boost program_options)
intltool
gettext
libpcap-dev
libcloog-ppl (if using gcc 4.6)
libmysqlclient-dev
libdrizzle-dev
pkg-config
Source Tarball: percona-playback-0.3.tar.gz ( md5 , sig )
We've tested building on CentOS/ RHEL 6, Ubuntu 10.04LTS (lucid), Ubuntu…
Cure : go back to what the Internet was; kill the tunnels; route IPv4 and IPv6; have public addresses on everything; disrupt the telcos.
This is a classic story in a strange setting--the network--but the themes are universal: centralization vs. decentralization (that's where the telcos obviously come in), good vs. evil, order vs. disorder, tyranny vs. freedom, change vs. stasis, simplicity vs. complexity. And it's all being carried out on battlefield few get to see: the infrastructure …
…OpenSolaris and Nexenta, as well as fixed an IPv6 and IPv4 address collision bug. We love when people expand Ohai for their favorite platform, and we've chosen Jason as this releases' MVP. Thanks Jason!
We have a good deal of added support for detecting various environments. Tomoyuki Sakurai gives us FreeBSD jails , Domenico Delle Side provided code to detect virtualbox guests , Holger Just and Joseph Reynolds fixed up Xen detection …
I don't have to tell you why IPv6 is important - even the mainstream media has finally realised that the pool of IPv4 addresses is exhausted (it's not like we needed tarot cards to predict it!). Any modern network must have support for IPv6.
We've been concentrating on perfecting IPv4 in Brightbox Cloud as that's the immediate need, but we've considered IPv6 since day one of our network designs (over a year ago now!). Every cloud server will get IPv6…
…Nameserver object . This change allows the parser to also extract name server IPv4 and IPv6 addresses.
A new caching mechanism reduces the number of instance variables created.
The library now supports the Gem Testers project .
You can now bind a different address or port to the WHOIS socket request.
Last but not least, the Whois::Answer class has been renamed to Whois::Record .
There are a couple of backwards-incompatible changes to the API…
…String . This is a lossy implementation because it completely ignores the IPv4 and IPv6 details.
The new Whois version solves this problem by introducing a new Whois::Answer:: Nameserver object. This object is a Struct composed by three attributes: name , ipv4 and ipv6 .
1 2 3 4 5 6 7 8 9 10 11 12 ns = Nameserver. new ( :name => "ns1.nic.fr" , :ipv4 => "192.134.4.1" , :ipv6 => "2001:660:3003:2::4:1" ) ns. name # => "ns1.nic.fr" …
IPAddress - Handle IPv4 and IPv6 Addresses from Ruby
IPAddress is a new Ruby library by Marco Ceresa that goes beyond Ruby's " IPAddr" library and offers both powerful and easy handling of IP (v4 and v6) addresses from Ruby. It's fully object oriented and has some pretty extensive document with lots of examples. You can store IP addresses including a prefix (e.g. /24) or submask, determine the class of IP addresses, work with broadcast addresses, …
…that in your file. Those lines should be changed to make sure you tell your nginx to bind on both IPv4 and IPv6 addresses:
1
listen [::]:80
For configurations that need to bind to specific ip addresses you could use similar notation:
1
listen [2607:f0d0:1004:2::2]:80
.
After changing your configs and testing them you need to restart (not reload) your nginx process and then check your system port bindings to make sure it works as expected:
1
2
3
[root@node ~]# netstat -nlp …