<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kudithipudi.Org &#187; Networking</title>
	<atom:link href="http://kudithipudi.org/category/technology/networking/feed/" rel="self" type="application/rss+xml" />
	<link>http://kudithipudi.org</link>
	<description>Too much time on hand!!!</description>
	<lastBuildDate>Tue, 07 Feb 2012 15:01:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>HOW TO : Modify iptables rules</title>
		<link>http://kudithipudi.org/2011/12/12/how-to-modify-iptables-rules/</link>
		<comments>http://kudithipudi.org/2011/12/12/how-to-modify-iptables-rules/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 20:17:16 +0000</pubDate>
		<dc:creator>Vinay</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://kudithipudi.org/?p=1143</guid>
		<description><![CDATA[Quick how to for my personal records. iptables is an open source firewall (and it does a lot more) included with most linux distributions. Steps to add new rule to existing configuration Check the list of rules and their corresponding sequence Add the new rule at the required location/sequence Example : Save the configuration Thx [...]]]></description>
			<content:encoded><![CDATA[<p>Quick how to for my personal records. <a href="http://en.wikipedia.org/wiki/Iptables">iptables</a> is an open source firewall (and it does a lot more) included with most linux distributions.</p>
<p>Steps to add new rule to existing configuration</p>
<ul>
<li>Check the list of rules and their corresponding sequence</li>
</ul>
<p>
<pre class="brush: plain; title: ; notranslate">sudo iptables -vL --line-numbers </pre>
</p>
<ul>
<li>Add the new rule at the required location/sequence</li>
</ul>
<p>
<pre class="brush: plain; title: ; notranslate"> sudo iptables -I INPUT LINE_NUMBER RULE </pre>
</p>
<p style="padding-left: 30px;">Example :</p>
<p>
<pre class="brush: plain; title: ; notranslate">iptables -I INPUT 8 -s X.X.X.X/24 -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT</pre>
</p>
<ul>
<li>Save the configuration</li>
</ul>
<p>
<pre class="brush: plain; title: ; notranslate"> sudo serivce iptables save </pre>
</p>
<p>Thx to Sijis for helping with the commands.</pre>
]]></content:encoded>
			<wfw:commentRss>http://kudithipudi.org/2011/12/12/how-to-modify-iptables-rules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOW TO : Check web services using curl</title>
		<link>http://kudithipudi.org/2011/10/31/how-to-check-web-services-using-curl/</link>
		<comments>http://kudithipudi.org/2011/10/31/how-to-check-web-services-using-curl/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 20:36:40 +0000</pubDate>
		<dc:creator>Vinay</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://kudithipudi.org/?p=1077</guid>
		<description><![CDATA[Quick note for myself to check web services using curl ([L/U]nix utility to play with http(s) traffic) Comments on options : &#8211;insecure is used if you are testing web services served over SSL using self signed certs &#8211;trace-ascii dumps all traffic between the client (curl in this case) and the server in human readable format]]></description>
			<content:encoded><![CDATA[<p>Quick note for myself to check web services using <a href="http://curl.haxx.se/">curl</a> ([L/U]nix utility to play with http(s) traffic)</p>
<pre class="brush: plain; title: ; notranslate"> curl https://URL_TO_TEST --insecure --trace-ascii debug.txt </pre>
<p>Comments on options :<br />
&#8211;insecure is used if you are testing web services served over SSL using self signed certs<br />
&#8211;trace-ascii dumps all traffic between the client (curl in this case) and the server in human readable format</p>
]]></content:encoded>
			<wfw:commentRss>http://kudithipudi.org/2011/10/31/how-to-check-web-services-using-curl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOW TO : Apache and SELinux</title>
		<link>http://kudithipudi.org/2011/08/22/how-to-apache-and-selinux/</link>
		<comments>http://kudithipudi.org/2011/08/22/how-to-apache-and-selinux/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 16:13:32 +0000</pubDate>
		<dc:creator>Vinay</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://kudithipudi.org/?p=1021</guid>
		<description><![CDATA[Quick note for future reference.. If you ever run into errors like this And you are scratching your head why Apache is throwing these errors, even when the said directory and files exist. And you have the right permissions!! Check if you have SELinux running and being enforced. On RHEL, you can check if SELinux [...]]]></description>
			<content:encoded><![CDATA[<p>Quick note for future reference..</p>
<p>If you ever run into errors like this</p>
<pre class="brush: plain; title: ; notranslate">
&lt;pre&gt;Starting httpd: Warning: DocumentRoot [/var/www/html/static] does not exist
Warning: DocumentRoot [/var/www/html/static] does not exist
Warning: DocumentRoot [/var/www/html/static] does not exist
Warning: DocumentRoot [/var/www/html/static] does not exist
(13)Permission denied: httpd: could not open error log file /etc/httpd/logs/error_log.
Unable to open logs
                                                           [FAILED]
</pre>
<p>And you are scratching your head why Apache is throwing these errors, even when the said directory and files exist. And you have the right permissions!! Check if you have SELinux running and being enforced.<br />
On <a href="http://www.redhat.com/rhel/">RHEL</a>, you can check if <a href="http://en.wikipedia.org/wiki/Security-Enhanced_Linux">SELinux</a> is running by</p>
<pre class="brush: plain; title: ; notranslate">cat /selinux/enforce </pre>
<p>The two values are 0 and 1. 0 means, SELinux is not being enforced and 1 means it is.<br />
You can quickly disable SELinux temporarily by </p>
<pre class="brush: plain; title: ; notranslate">echo 0 &gt;/selinux/enforce </pre>
<p>If you want to disable it permanently (i.e. survive reboots), you have to edit the file /etc/selinux/config and change the SELINUX line from enabled to disabled.</pre>
]]></content:encoded>
			<wfw:commentRss>http://kudithipudi.org/2011/08/22/how-to-apache-and-selinux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HOW TO : Export and import certificates using keytool</title>
		<link>http://kudithipudi.org/2011/07/20/how-to-export-and-import-certificates-using-keytool/</link>
		<comments>http://kudithipudi.org/2011/07/20/how-to-export-and-import-certificates-using-keytool/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 19:55:51 +0000</pubDate>
		<dc:creator>Vinay</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://kudithipudi.org/?p=990</guid>
		<description><![CDATA[Keytool is a java utility to manage SSL key databases (stores). Here are a couple of options for using this tool List the certificates in the keystore Export a particular certificate from the keystore Import a certificate into the keystore]]></description>
			<content:encoded><![CDATA[<p><a href="http://download.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html">Keytool</a> is a <a href="http://www.java.com">java</a> utility to manage SSL key databases (stores). Here are a couple of options for using this tool</p>
<ul>
<li>List the certificates in the keystore</li>
</ul>
<pre class="brush: plain; title: ; notranslate">keytool -list -keystore NAME_OF_KEYSTORE_FILE </pre>
<ul>
<li>Export a particular certificate from the keystore</li>
</ul>
<pre class="brush: plain; title: ; notranslate">keytool -export -alias ALIAS_NAME_OF_CERT -keystore NAME_OF_KEYSTORE_FILE </pre>
<ul>
<li>Import a certificate into the keystore</li>
</ul>
<pre class="brush: plain; title: ; notranslate">keytool -import -alias ALIAS_NAME_YOU_WANT -keystore NAME_OF_KEYSTORE_FILE -file NAME_OF_CERT_FILE_TO_IMPORT </pre>
]]></content:encoded>
			<wfw:commentRss>http://kudithipudi.org/2011/07/20/how-to-export-and-import-certificates-using-keytool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOW TO : Use netcat (nc) on Windows 7</title>
		<link>http://kudithipudi.org/2011/07/14/how-to-use-netcat-nc-on-windows-7/</link>
		<comments>http://kudithipudi.org/2011/07/14/how-to-use-netcat-nc-on-windows-7/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 16:28:27 +0000</pubDate>
		<dc:creator>Vinay</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://kudithipudi.org/?p=987</guid>
		<description><![CDATA[netcat is a swiss army tool for network/security professionals. You can use it to listen on certain ports or connect to certain ports. For example, say, you configured your firewall to allow TCP 80 traffic to your web server. But your web server is not built yet and you want to validate the rule. You [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://netcat.sourceforge.net/">netcat</a> is a swiss army tool for network/security professionals. You can use it to listen on certain ports or connect to certain ports. For example, say, you configured your firewall to allow <a href="http://en.wikipedia.org/wiki/Transmission_Control_Protocol">TCP</a> 80 traffic to your web server. But your web server is not built yet and you want to validate the rule. You can run netcat on your workstation to listen on port 80, assign the IP address of the web server to your workstation and test the rule.</p>
<p>If I am not mistaken, nc comes as a default tool in most of the <a href="http://en.wikipedia.org/wiki/Linux">Linux</a> distros. You can download the windows port of the tool at <a href="http://www.securityfocus.com/tools/139">http://www.securityfocus.com/tools/139</a></p>
<p>The command to have netcat listen on a specific port is &#8220;nc -l PORT_NUMBER&#8221;. If you run this on a Windows 7 machine, you will get this dreaded message &#8220;local listen fuxored: INVAL&#8221;. The fix is to run it with a -L option. So the command would like this</p>
<pre class="brush: plain; title: ; notranslate">nc -L -p 80</pre>
<p>The -L means &#8220;listen harder, re-listen on socket close&#8221; <img src='http://kudithipudi.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .. Have to dig deeper and see what it really means though. I will leave that for another blog post.</p>
<p>And if you want to validate that netcat is indeed listening on that port, you can connect to that port from another workstation by using <a href="http://kudithipudi.org/2006/07/28/scan-udp-ports-using-nmap/">nmap</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://kudithipudi.org/2011/07/14/how-to-use-netcat-nc-on-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOW TO : Setup Global Redirect in Lighttpd</title>
		<link>http://kudithipudi.org/2011/02/11/how-to-setup-global-redirect-in-lighttpd/</link>
		<comments>http://kudithipudi.org/2011/02/11/how-to-setup-global-redirect-in-lighttpd/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 01:12:18 +0000</pubDate>
		<dc:creator>Vinay</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://kudithipudi.org/?p=936</guid>
		<description><![CDATA[If you have ever managed a web application, you know you have to take it down at times . And you usually want to show an simple page stating that you are down for maintenance. Here is a simple way to setup a &#8220;maintenance&#8221; splash page. The assumption is that you have a Linux server [...]]]></description>
			<content:encoded><![CDATA[<p>If you have ever managed a web application, you know you have to take it down at times <img src='http://kudithipudi.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . And you usually want to show an simple page stating that you are down for maintenance. Here is a simple way to setup a &#8220;maintenance&#8221; splash page. The assumption is that you have a Linux server to host the maintenance page.</p>
<ul>
<li>Configure <a href="http://www.lighttpd.net">lighttpd</a> (<a href="http://en.wikipedia.org/wiki/Web_server">HTTP Server</a>) on the server using instructions from this <a href="http://www.cyberciti.biz/tips/installing-and-configuring-lighttpd-webserver-howto.html">article</a> on <a href="http://www.cyberciti.biz/">Cyberciti</a>.</li>
<li>Edit the lighttpd.conf file and add the following line in your site configuration</li>
</ul>
<pre class="brush: bash; title: ; notranslate"> server.error-handler-404   = &quot;index.html&quot; </pre>
<ul>
<li>Name your maintenance page as index.html and upload it to the document root (in this example, it is /var/www/html)</li>
</ul>
<p>You are essentially telling the web server to display index.html whenever the user is trying to access content that is not present on the server. And since there is no content on the server other than the index.html, the web browser will always display the index.html page..</p>
]]></content:encoded>
			<wfw:commentRss>http://kudithipudi.org/2011/02/11/how-to-setup-global-redirect-in-lighttpd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOW TO : Capture HTTP Headers using tcpdump</title>
		<link>http://kudithipudi.org/2011/02/07/how-to-capture-http-headers-using-tcpdump/</link>
		<comments>http://kudithipudi.org/2011/02/07/how-to-capture-http-headers-using-tcpdump/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 16:09:03 +0000</pubDate>
		<dc:creator>Vinay</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://kudithipudi.org/?p=926</guid>
		<description><![CDATA[Quick how to on capturing HTTP headers using tcpdump on a web server (running Linux). On the web server, issue the following command Stop the capture by issuing the break command (ctrl + c) Open the capture file (httpcapture in this example) in wireshark and check out the headers under the  the HTTP protocol]]></description>
			<content:encoded><![CDATA[<p>Quick how to on capturing <a href="http://en.wikipedia.org/wiki/List_of_HTTP_header_fields">HTTP headers</a> using <a href="http://www.tcpdump.org/">tcpdump</a> on a web server (running Linux).</p>
<ol></ol>
<ul>
<li>On the web server, issue the following command</li>
</ul>
<ol></ol>
<pre class="brush: bash; title: ; notranslate"> tcpdump -s 1024 -C 1024000 -w /tmp/httpcapture dst port 80 </pre>
<ol></ol>
<ul>
<li>Stop the capture by issuing the break command (ctrl + c)</li>
<li>Open the capture file (httpcapture in this example) in <a href="http://www.wireshark.org/">wireshark</a> and check out the headers under the  the HTTP protocol</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://kudithipudi.org/2011/02/07/how-to-capture-http-headers-using-tcpdump/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HOW TO : Check status of bond interface in Linux</title>
		<link>http://kudithipudi.org/2010/07/30/how-to-check-status-of-bond-interface-in-linux/</link>
		<comments>http://kudithipudi.org/2010/07/30/how-to-check-status-of-bond-interface-in-linux/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 20:03:36 +0000</pubDate>
		<dc:creator>Vinay</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://kudithipudi.org/?p=830</guid>
		<description><![CDATA[For my notes.. If you ever wanted to check the status of a bonded interface configure in Linux (esp RHEL), you can check the status by running the following command [root@serverxyz bin]# cat /proc/net/bonding/bond0 i.e. assuming the name of your bond interface is bond0. Output from the command Ethernet Channel Bonding Driver: v3.4.0 (October 7, [...]]]></description>
			<content:encoded><![CDATA[<p>For my notes.. If you ever wanted to check the status of a bonded interface configure in Linux (esp RHEL), you can check the status by running the following command</p>
<pre>[root@serverxyz bin]# cat /proc/net/bonding/bond0
</pre>
<p>i.e. assuming the name of your bond interface is bond0.</p>
<p>Output from the command</p>
<pre>Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth3 (primary_reselect always)
Currently Active Slave: eth3
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth3
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:10:18:6e:b8:1a

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:21:5e:11:34:32
</pre>
<p>The configuration files involved are</p>
<p>/etc/sysconfig/network-scripts/ifcfg-bond0 (Bond Interface)</p>
<pre>DEVICE=bond0
IPADDR=10.10.40.26
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
GATEWAY=10.10.40.1
NETWORK=10.10.40.0
BROADCAST=10.10.40.255
TYPE=Ethernet</pre>
<p>/etc/sysconfig/network-scripts/ifcfg-eth3 (Primary Interface)</p>
<pre>DEVICE=eth3
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:10:18:6e:b8:1a
MASTER=bond0
SLAVE=yes
TYPE=Ethernet
USERCTL=no</pre>
<p>/etc/sysconfig/network-scripts/ifcfg-eth0 (Secondary Interface)</p>
<pre>DEVICE=eth0
HWADDR=00:21:5e:11:34:32
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
TYPE=Ethernet</pre>
]]></content:encoded>
			<wfw:commentRss>http://kudithipudi.org/2010/07/30/how-to-check-status-of-bond-interface-in-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Express.com DNS outage</title>
		<link>http://kudithipudi.org/2010/04/26/express-com-dns-outage/</link>
		<comments>http://kudithipudi.org/2010/04/26/express-com-dns-outage/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 01:42:19 +0000</pubDate>
		<dc:creator>Vinay</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://kudithipudi.org/?p=805</guid>
		<description><![CDATA[I am sure a lot of people shop on express.com , but I probably get the credits for being the first blogger to post that express.com has not been responding to DNS queries since ~7:00 PM CST (4/26). Looks like Qwest is hosting DNS for Express. The name servers (most probably global load balancers) are [...]]]></description>
			<content:encoded><![CDATA[<p>I am sure a lot of people shop on <a href="http://www.express.com">express.com </a>, but I probably get the credits for being the first blogger to post that express.com has not been responding to DNS queries since ~7:00 PM CST (4/26). Looks like Qwest is hosting DNS for Express. The name servers (most probably global load balancers) are not responding to DNS requests.</p>
<p>Here&#8217;s what I get, when I queried for www.express.com</p>
<div>
<div id="output">
<h4>Nameserver  trace for www.express.com:</h4>
<ul>
<li>Looking for who is responsible  for root zone and followed h.root-servers.net.</li>
<li>Looking for who  is responsible for com and followed h.gtld-servers.net.</li>
<li>Looking  for who is responsible for express.com and followed  dca-ans-01.inet.qwest.net.</li>
</ul>
<h4>Nameservers for  www.express.com:</h4>
<ul>
<li><strong>dca-ans-01.inet.qwest.net</strong> returned (NORECORDS)</li>
<li><strong>svl-ans-01.inet.qwest.net</strong> returned (NORECORDS)</li>
</ul>
<p>I feel for the poor ops team scrambling around to bring up the service <img src='http://kudithipudi.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Another reason, you want diversity in your DNS hosting.</p>
<p><img class="aligncenter" title="Express.Com site outage" src="http://farm4.static.flickr.com/3161/4556053235_74281750fc.jpg" alt="" width="500" height="383" /></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://kudithipudi.org/2010/04/26/express-com-dns-outage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOW TO : Load/Stress test a Linux based server</title>
		<link>http://kudithipudi.org/2009/12/09/howto-loadstress-test-a-linux-based-server/</link>
		<comments>http://kudithipudi.org/2009/12/09/howto-loadstress-test-a-linux-based-server/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 01:03:25 +0000</pubDate>
		<dc:creator>Vinay</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://kudithipudi.org/?p=738</guid>
		<description><![CDATA[We ran into an issue at work recently, which prompted us to do some performance testing on some of our Linux servers. The requirement was to stress test the key components of the server (CPU, RAM, HDD, Network) and prove that different servers with the same configuration were capable of performing identically. Pretty simple right [...]]]></description>
			<content:encoded><![CDATA[<p>We ran into an issue at work recently, which prompted us to do some performance testing on some of our Linux servers. The requirement was to stress test the key components of the server (<a href="http://en.wikipedia.org/wiki/Central_processing_unit">CPU</a>, <a href="http://en.wikipedia.org/wiki/RAM">RAM</a>, <a href="http://en.wikipedia.org/wiki/Hard_disk_drive">HDD</a>, Network) and prove that different servers with the same configuration were capable of performing identically. Pretty simple right <img src='http://kudithipudi.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .. The challenge was to find tools that could be run to stress test each of the components. There were a lot of tools for CPU and memory (RAM) testing, but not a lot for network and hard drive (HDD) testing. After searching high and low, we found a couple of tools, that I wanted to document here for future reference.</p>
<h2>HDD Testing :</h2>
<p>I found a pretty interesting tool called Iozone written by William Norcott (Oracle) and Don Capps. You can get the source code and builds for major OSs at <a href="http://iozone.org">http://iozone.org</a> . Despite installing the program using RPM, we were not able toÂ  run the program without specifying the complete path.</p>
<p>There are a ton of options for the program, but the easiest method to run it was in automated mode with the output going to an Excel spreadsheet (more like a glorified CSV file <img src='http://kudithipudi.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Here is the command we used</p>
<p><code> /opt/iozone/bin/iozone -a -Rb output_excel_file.xls </code></p>
<p>The &#8220;-a&#8221; is to tell the program in automated mode and the &#8220;-Rb&#8221; is to tell the program to format the output in Excel format. And you can then go ahead and open the spreadsheet in Excel and create 3D graphs to check and compare the output.</p>
<h2>Network Testing :</h2>
<p>Most of the information out there in terms of testing the network stack of a machine is either to copy large files over a network share or via FTP. We didn&#8217;t find that was enough to really max out a Gigport since there were protocol limitations that didn&#8217;t allow us to saturate the network port. After some searching, we stumbled across a tool called &#8220;ettcp&#8221; on Sourceforge. ettcp itself is an offshoot of ttcp. <a href="http://ftp.arl.mil/~mike/ttcp.html">ttcp</a> (stands for test tcp) was created to test network performance between two nodes. I couldn&#8217;t find any place to download ttcp itself, but you can download ettcp at http://ettcp.sourceforge.net/.</p>
<p>We used a server, to act as a common receiver for all the servers we intended to do a performance test on. Here are the commands we used to run the test</p>
<p>RECEIVER (Common Server)<br />
<code>./ettcp -r -s -f M </code></p>
<p>The options are</p>
<ul>
<li>&#8220;-r&#8221; for designating the machine as receiver</li>
<li>&#8220;-f M&#8221; for showing the output in Mega Bytes.</li>
</ul>
<p>TRANSMITTER (Test Servers)<br />
<code>./ettcp -t -s receiver_hostname -n 10000000 -f M</code></p>
<p>the options are</p>
<ul>
<li>&#8220;-t&#8221; for designating the machine as transmitter</li>
<li>&#8220;-s receiver_hostname&#8221; to define the receiver</li>
<li>&#8220;-n&#8221; to define the number of packets to send to the receiver</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://kudithipudi.org/2009/12/09/howto-loadstress-test-a-linux-based-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

