<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">Curator</title>
  <generator uri="http://effectif.com/nesta">Nesta</generator>
  <id>tag:www.edwin.io,2009:/</id>
  <link href="http://www.edwin.io/articles.xml" rel="self"/>
  <link href="http://www.edwin.io" rel="alternate"/>
  <subtitle type="text">a thread in the fabric</subtitle>
  <entry>
    <title>Benchmark new hp cloud compute instance </title>
    <link type="text/html" href="http://www.edwin.io/hpcloud-benchmark" rel="alternate"/>
    <id>tag:www.edwin.io,2012-04-26:/hpcloud-benchmark</id>
    <content type="html">&lt;p&gt;Today I got around to beta testing the new hp cloud. The hp cloud is powered by &lt;a href='http://openstack.org/'&gt;OpenStack&lt;/a&gt;. The management console allows you to quickly launch an instance; if you&amp;#8217;re familiar with the AWS Console you&amp;#8217;ll feel right at home.&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s a UnixBench Benchmark on their standard.small 2vCPU/2GB RAM/60GB HD - CentOS 64bit Image&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: server---02012-04-26-162925-0000.localdomain: GNU/Linux
   OS: GNU/Linux -- 2.6.32-220.2.1.el6.x86_64 -- #1 SMP Fri Dec 23 02:21:33 CST 2011
   Machine: x86_64 (x86_64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: QEMU Virtual CPU version 0.14.0 (5333.5 bogomips)
          x86-64, MMX, Physical Address Ext, SYSCALL/SYSRET
   CPU 1: QEMU Virtual CPU version 0.14.0 (5333.5 bogomips)
          x86-64, MMX, Physical Address Ext, SYSCALL/SYSRET
   14:38:45 up  5:07,  1 user,  load average: 0.00, 0.00, 0.00; runlevel 3

------------------------------------------------------------------------
Benchmark Run: Thu Apr 26 2012 14:38:45 - 15:07:02
2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       19422142.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2822.4 MWIPS (9.9 s, 7 samples)
Execl Throughput                               1720.6 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        298470.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          121086.2 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        961321.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              651916.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 127890.3 lps   (10.0 s, 7 samples)
Process Creation                               4264.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3240.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    657.8 lpm   (60.1 s, 2 samples)
System Call Overhead                        1154673.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   19422142.7   1664.3
Double-Precision Whetstone                       55.0       2822.4    513.2
Execl Throughput                                 43.0       1720.6    400.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     298470.7    753.7
File Copy 256 bufsize 500 maxblocks            1655.0     121086.2    731.6
File Copy 4096 bufsize 8000 maxblocks          5800.0     961321.9   1657.5
Pipe Throughput                               12440.0     651916.4    524.0
Pipe-based Context Switching                   4000.0     127890.3    319.7
Process Creation                                126.0       4264.7    338.5
Shell Scripts (1 concurrent)                     42.4       3240.7    764.3
Shell Scripts (8 concurrent)                      6.0        657.8   1096.4
System Call Overhead                          15000.0    1154673.2    769.8
                                                                   ========
System Benchmarks Index Score                                         688.9

------------------------------------------------------------------------
Benchmark Run: Thu Apr 26 2012 15:07:02 - 15:35:22
2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables       34878089.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     5516.2 MWIPS (10.0 s, 7 samples)
Execl Throughput                               3917.0 lps   (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        482047.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          132102.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1278367.3 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1542930.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 268617.7 lps   (10.0 s, 7 samples)
Process Creation                              12060.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5236.8 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    711.7 lpm   (60.1 s, 2 samples)
System Call Overhead                        1949027.6 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   34878089.5   2988.7
Double-Precision Whetstone                       55.0       5516.2   1002.9
Execl Throughput                                 43.0       3917.0    910.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     482047.7   1217.3
File Copy 256 bufsize 500 maxblocks            1655.0     132102.6    798.2
File Copy 4096 bufsize 8000 maxblocks          5800.0    1278367.3   2204.1
Pipe Throughput                               12440.0    1542930.2   1240.3
Pipe-based Context Switching                   4000.0     268617.7    671.5
Process Creation                                126.0      12060.7    957.2
Shell Scripts (1 concurrent)                     42.4       5236.8   1235.1
Shell Scripts (8 concurrent)                      6.0        711.7   1186.1
System Call Overhead                          15000.0    1949027.6   1299.4
                                                                   ========
System Benchmarks Index Score                                        1199.5

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Benchmark details: &lt;pre&gt;&lt;code&gt;
wget http://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz
tar -zxvf UnixBench5.1.3.tgz
cd UnixBench
make
./Run
&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;div class='topsy_widget_data'&gt;&lt;!--
    {
        "url": "http://edwin.io/hpcloud-benchmark",
        "title": "HP Cloud Benchmark",
        "style": "big",
		"theme": "jade",
		"nick": "webfabric"
    }
--&gt;&lt;/div&gt;</content>
    <published>2012-04-26T00:00:00+00:00</published>
  </entry>
  <entry>
    <title>Downloading  1gb oracle packages directly to your server. </title>
    <link type="text/html" href="http://www.edwin.io/download-oracle-software-with-wget" rel="alternate"/>
    <id>tag:www.edwin.io,2012-02-03:/download-oracle-software-with-wget</id>
    <content type="html">&lt;p&gt;Using the cookie from your logged in session you can use wget to download the packages on your server.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Get the &lt;a href='https://chrome.google.com/webstore/detail/lopabhfecdfhgogdbojmaicoicjekelh'&gt;Google Chrome plugin&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;login to &lt;a href='https://login.oracle.com/mysso/signon.jsp'&gt;Oracle&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;hit the cookie.txt export icon (upper right)&lt;/li&gt;

&lt;li&gt;create a file cookies.txt on your server and copy the contents of the new window into file.&lt;/li&gt;

&lt;li&gt;wget -x &amp;#8211;load-cookies cookies.txt http://download.oracle.com/otn/bea/jrockit/jrockit-jdk1.6.0_29-R28.2.2-4.1.0-linux-ia32.bin&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;make sure to accept the license agreement on the oracle site to enable the correct download links.&lt;/li&gt;
&lt;/ul&gt;</content>
    <published>2012-02-03T00:00:00+00:00</published>
  </entry>
  <entry>
    <title>Benchmark pigz vs gzip</title>
    <link type="text/html" href="http://www.edwin.io/pigz-vs-gzip-benchmark" rel="alternate"/>
    <id>tag:www.edwin.io,2011-03-24:/pigz-vs-gzip-benchmark</id>
    <content type="html">&lt;p&gt;What is pigz ?&lt;/p&gt;

&lt;p&gt;&amp;#8220;pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and &lt;strong&gt;multiple&lt;/strong&gt; &lt;strong&gt;cores&lt;/strong&gt; to the hilt when compressing data.&amp;#8221; &amp;#8211; &lt;a href='http://www.zlib.net/pigz/'&gt;pigz&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Who doesn&amp;#8217;t love benchmarks ?&lt;/p&gt;

&lt;p&gt;File Data: Tarred &lt;a href='http://www.cs.cmu.edu/~enron/enron_mail_082109.tar.gz'&gt;Enron Corpus&lt;/a&gt;&lt;br /&gt;File Size: 1823139840 bytes ~ 1.7 gigabytes&lt;/p&gt;

&lt;p&gt;System Specs:&lt;br /&gt;Processor Name: Intel(R) Xeon(R) CPU E5507&lt;br /&gt;Processor Speed: 2.7 GHz&lt;br /&gt;Number Of Processors: 1&lt;br /&gt;Total Number Of Cores: 4&lt;br /&gt;L2 Cache (per core): 256 KB&lt;br /&gt;L3 Cache: 4 MB&lt;/p&gt;

&lt;h4 id='pigz_results'&gt;pigz results&lt;/h4&gt;

&lt;h5 id='compress'&gt;compress&lt;/h5&gt;

&lt;blockquote&gt;
&lt;p&gt;time pigz -9 enron_mail_082109.tar&lt;br /&gt;real 0m44.136s&lt;br /&gt;user 2m5.400s&lt;br /&gt;sys 0m1.570s&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h5 id='decompress'&gt;decompress&lt;/h5&gt;

&lt;blockquote&gt;
&lt;p&gt;time pigz -d -9 enron_mail_082109.tar.gz &lt;br /&gt;real 0m14.354s&lt;br /&gt;user 0m12.270s&lt;br /&gt;sys 0m3.260s&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4 id='gzip_results'&gt;gzip results&lt;/h4&gt;

&lt;h5 id='compress'&gt;compress&lt;/h5&gt;

&lt;blockquote&gt;
&lt;p&gt;time gzip -9 enron_mail_082109.tar &lt;br /&gt;real 2m27.748s&lt;br /&gt;user 1m53.860s&lt;br /&gt;sys 0m1.380s&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h5 id='decompress'&gt;decompress&lt;/h5&gt;

&lt;blockquote&gt;
&lt;p&gt;time gunzip -9 enron_mail_082109.tar.gz &lt;br /&gt;real 0m29.564s&lt;br /&gt;user 0m18.270s&lt;br /&gt;sys 0m2.250s&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here&amp;#8217;s another &lt;a href='http://www.unixdaemon.net/tools/commandline/pigz-parallel-gzip.html'&gt;benchmark&lt;/a&gt;&lt;/p&gt;
&lt;div class='topsy_widget_data'&gt;&lt;!--
    {
        "url": "http://edwin.io/pigz-vs-gzip-benchmark",
        "title": "Pigz vs Gzip Benchmark",
        "style": "big",
		"theme": "jade",
		"nick": "edwin_io"
    }
--&gt;&lt;/div&gt;</content>
    <published>2011-03-24T00:00:00+00:00</published>
  </entry>
  <entry>
    <title>Linux Tools: fuser</title>
    <link type="text/html" href="http://www.edwin.io/linux-tools-fuser" rel="alternate"/>
    <id>tag:www.edwin.io,2010-11-06:/linux-tools-fuser</id>
    <content type="html">&lt;h3 id='find_what_process_is_listening_on_a_specific_port'&gt;Find what process is listening on a specific port&lt;/h3&gt;

&lt;p&gt;List all listening ports&lt;/p&gt;

&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;netstat -l &lt;br /&gt;Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State &lt;br /&gt;tcp 0 0 &lt;em&gt;:9090&lt;/em&gt;:* LISTEN &lt;br /&gt;tcp 0 0 &lt;em&gt;:nrpe&lt;/em&gt;:* LISTEN&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;p&gt;fuser is given the (-n) tcp namespace&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;$sudo fuser -n tcp 9090&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The output is a list of processes associated with that port , 9090 in this example.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;9090/tcp: 8794 26222 26223 26224 26225 26226 26227 26228 26229 26230 26231&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id='whos_accessing_that_mount_'&gt;Who&amp;#8217;s accessing that mount ?&lt;/h3&gt;

&lt;p&gt;Sometimes when you&amp;#8217;re trying to unmount a drive you&amp;#8217;ll get a message saying the device is busy. With fuser you can find the process accessing the device.&lt;/p&gt;

&lt;p&gt;fuser -v (verbose) -m (mounting point) /path/to/mount&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;$sudo fuser -v -m /mnt/nfsshare/&lt;br /&gt;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;USER PID ACCESS COMMAND&lt;br /&gt;/mnt/nfsshare/: edwin 25740 ..c.. bash&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It was me!&lt;/p&gt;

&lt;p&gt;Take a look at the &lt;a href='http://linux.die.net/man/1/fuser'&gt;fuser&lt;/a&gt; man pages for information on the different types of access.&lt;/p&gt;
&lt;div class='topsy_widget_data'&gt;&lt;!--
    {
        "url": "http://edwin.io/linux-tools-fuser",
        "title": "Linux Tools: fuser",
        "style": "big",
		"theme": "jade",
		"nick": "webfabric"
    }
--&gt;&lt;/div&gt;</content>
    <published>2010-11-06T00:00:00+00:00</published>
  </entry>
  <entry>
    <title>Using Jumbo Frames w/ MySQL</title>
    <link type="text/html" href="http://www.edwin.io/using-jumbo-frames-with-mysql-cluster" rel="alternate"/>
    <id>tag:www.edwin.io,2010-10-16:/using-jumbo-frames-with-mysql-cluster</id>
    <content type="html">&lt;p&gt;I first learned about jumbo frames while working on a MySQL cluster deployment. The MySQL cluster required low latency to keep the nodes in sync. The budget didn&amp;#8217;t allow for the recommended &lt;a href='http://en.wikipedia.org/wiki/InfiniBand'&gt;infiniband&lt;/a&gt; hardware. We decided to swap out an older Dell switch (used for the internal backend network 10.0.0.0/8 ) with a Cisco switch that supported 9000 byte frames (Jumbo Frames).&lt;/p&gt;

&lt;p&gt;All the MySQL nodes were built with dual GigE network cards and we wanted to take advantage of that. Ethernet uses a standard frame size of 1500 bytes. We configured our network interfaces to use jumbo frames by setting the MTU with the following command.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ip link set eth0 mtu 9000&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This allows larger frames to be transferred between nodes improving the local network throughput. Once the jumbo frames were configured, we were able to stand up an operational 4 node MySQL Cluster. We learned a few things through trial and error. The database size increased significantly when moving to MySQL Cluster. A varchar(255) became a char(255); a fixed-length character type.&lt;/p&gt;

&lt;h3 id='conclusion'&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;Jumbo frames work well for transferring large files; make sure your network and destination support it.&lt;/p&gt;

&lt;p&gt;The implementation of the MySQL cluster allowed us to work through some limitations of the version, 5.0 at the time, but from an operational stand point we didn&amp;#8217;t feel confident in the solution. The entire database needed to be stored in RAM and recovering from a failed node was very slow. We decided on a master/slave setup with a 2nd slave for running reports.&lt;/p&gt;
&lt;div class='topsy_widget_data'&gt;&lt;!--
    {
        "url": "http://edwin.io/using-jumbo-frames-with-mysql-cluster",
        "title": "Using Jumbo Frames with MySQL Cluster (NDB)",
        "style": "big",
		"theme": "jade",
		"nick": "webfabric"
    }
--&gt;&lt;/div&gt;</content>
    <published>2010-10-16T00:00:00+00:00</published>
  </entry>
  <entry>
    <title>Copying a table in MySQL</title>
    <link type="text/html" href="http://www.edwin.io/simple-mysql-table-copy" rel="alternate"/>
    <id>tag:www.edwin.io,2010-09-03:/simple-mysql-table-copy</id>
    <content type="html">&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;CREATE TABLE new_table LIKE production.table;&lt;br /&gt;INSERT new_table SELECT * FROM production.table;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you need a MySQL backup solution, take a look at &lt;a href='http://www.zmanda.com/'&gt;zmanda&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href='http://www.tech-recipes.com/rx/1487/copy-an-existing-mysql-table-to-a-new-table/'&gt;Source&lt;/a&gt;&lt;/p&gt;
&lt;div class='topsy_widget_data'&gt;&lt;!--
    {
        "url": "http://edwin.io/simple-mysql-table-copy",
        "title": "A Simple MySQL Table Copy",
        "style": "big",
		"theme": "jade",
		"nick": "webfabric"
    }
--&gt;&lt;/div&gt;</content>
    <published>2010-09-03T00:00:00+00:00</published>
  </entry>
  <entry>
    <title>Ec2 On-Demand vs Reserved Pricing</title>
    <link type="text/html" href="http://www.edwin.io/ec2-reserved-vs-on-demand-pricing" rel="alternate"/>
    <id>tag:www.edwin.io,2010-05-08:/ec2-reserved-vs-on-demand-pricing</id>
    <content type="html">&lt;p&gt;Cloud, VPS, Grid - take your pick. AWS continues to offer new useful services (EBS, CloudFront, BootEBS). Yes, I&amp;#8217;m a big fan.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve crunched the numbers and have one year worth of pricing data (as of May 06 2010) for the small, large, and xlarge instance. Hopefully someone using EC2 services will find this helpful in planning their next steps. I didn&amp;#8217;t include EC2 &lt;a href='http://aws.amazon.com/ec2/spot-instances/'&gt;Spot&lt;/a&gt; instances because pricing on that type is not guaranteed.&lt;/p&gt;

&lt;p&gt;The data used to generate these graphs can be downloaded &lt;a href='http://edwin.io/downloads/pricing.csv'&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div id='pricing' style='width:600px; height:400px;' /&gt;&lt;script type='text/javascript'&gt;
  chart = new Dygraph(
    document.getElementById("pricing"),
    "downloads/pricing.csv",
    { width: 660, height: 480, visibility: [true, true, true] }
  );

  function change(el) {
        chart.setVisibility(el.id, el.checked);
      }
&lt;/script&gt;&lt;div&gt;
	&lt;center&gt;&lt;br /&gt;
    	&lt;input checked='checked' onClick='change(this)' id='0' type='checkbox' /&gt;
    	&lt;label for='0'&gt;small OD &lt;/label&gt;
    	&lt;input checked='checked' onClick='change(this)' id='1' type='checkbox' /&gt;
		&lt;label for='1'&gt;large OD &lt;/label&gt;
    	&lt;input checked='checked' onClick='change(this)' id='2' type='checkbox' /&gt;
    	&lt;label for='2'&gt;xlarge OD &lt;/label&gt;
	&lt;/center&gt;
	&lt;center&gt;&lt;br /&gt;
		&lt;input checked='checked' onClick='change(this)' id='3' type='checkbox' /&gt;
    	&lt;label for='3'&gt;small RS &lt;/label&gt;
    	&lt;input checked='checked' onClick='change(this)' id='4' type='checkbox' /&gt;
		&lt;label for='4'&gt;large RS &lt;/label&gt;
    	&lt;input checked='checked' onClick='change(this)' id='5' type='checkbox' /&gt;
    	&lt;label for='5'&gt;xlarge RS &lt;/label&gt;
	&lt;/center&gt;
&lt;/div&gt;
&lt;h2 id='interesting_points'&gt;Interesting points&lt;/h2&gt;

&lt;p&gt;These are priced about the same.&lt;br /&gt;240 days of small OD = 365 days of small R&lt;br /&gt;240 days of large OD = 365 days of large R&lt;br /&gt;240 days of xlarge OD = 365 days of xlarge R&lt;/p&gt;

&lt;p&gt;On the 172 day of use, &lt;strong&gt;On-Demand&lt;/strong&gt; pricing is about the same as &lt;strong&gt;Reserved&lt;/strong&gt; Pricing.&lt;br /&gt;&lt;div class='topsy_widget_data'&gt;&lt;!--
    {
        "url": "http://edwin.io/ec2-reserved-vs-on-demand-pricing",
        "title": "Ec2 On-Demand vs Reserved Pricing Graph",
        "style": "big",
		"theme": "jade",
		"nick": "webfabric"
    }
--&gt;&lt;/div&gt;&lt;/p&gt;</content>
    <published>2010-05-08T00:00:00+00:00</published>
  </entry>
  <entry>
    <title>Improving your resolv.conf file</title>
    <link type="text/html" href="http://www.edwin.io/optimized-resolv-conf" rel="alternate"/>
    <id>tag:www.edwin.io,2010-04-30:/optimized-resolv-conf</id>
    <content type="html">&lt;p&gt;The &lt;a href='http://linux.die.net/include/resolv.h'&gt;resolver&lt;/a&gt; can load up to 3 name servers. If your server needs to find the mx record of gmail.com, it will first need to resolve gmail.com locally.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;using a resolver from resolv.conf&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;dig @8.8.8.8 gmail.com -t mx +short&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;result: alt1.gmail-smtp-in.l.google.com&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;connect to alt1.gmail-smtp-in.l.google.com&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;dig @8.8.4.4 alt1.gmail-smtp-in.l.google.com +short&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;result: 209.85.227.27&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;connect to 209.85.227.27:25&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id='optimized_resolvconf'&gt;Optimized resolv.conf&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;nameserver 8.8.8.8&lt;br /&gt;nameserver 8.8.4.4&lt;br /&gt;nameserver 4.2.2.2&lt;br /&gt;option rotate &lt;br /&gt;option timeout:1&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;option rotate&lt;/strong&gt; - load balance the queries across the 3 listed servers&lt;br /&gt;&lt;strong&gt;option timeout:1&lt;/strong&gt; - sets the lookup timeout to 1 sec (default 5s)&lt;/p&gt;
&lt;div class='topsy_widget_data'&gt;&lt;!--
    {
        "url": "http://edwin.io/optimized-resolv-conf",
        "title": "Improving your resolv.conf file",
        "style": "big",
		"theme": "jade",
		"nick": "webfabric"
    }
--&gt;&lt;/div&gt;</content>
    <published>2010-04-30T00:00:00+00:00</published>
  </entry>
</feed>

