<?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>Institutional Knowledge &#187; Recent Projects</title>
	<atom:link href="http://blogs.csuchico.edu/ik/category/recent-projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.csuchico.edu/ik</link>
	<description>Wherein we write down some stuff that we know.</description>
	<lastBuildDate>Mon, 24 Aug 2009 16:28:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9-rare</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tomcat SSL Performance</title>
		<link>http://blogs.csuchico.edu/ik/2008/03/13/tomcat-ssl-performance/</link>
		<comments>http://blogs.csuchico.edu/ik/2008/03/13/tomcat-ssl-performance/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 17:06:13 +0000</pubDate>
		<dc:creator>pberry</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Recent Projects]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/?p=316</guid>
		<description><![CDATA[Wherein we discuss the poor performance of ancient versions of the Java Virtual Machine.]]></description>
			<content:encoded><![CDATA[<p>We run a number of applications in Tomcat (both 5.0.x and 5.5.x) and for the most part we&#8217;re very happy with the performance we get.  There is one time of the year where our <a href="http://www.ja-sig.org/products/cas/"><span class="caps">CAS</span></a> (Central Authentication Service) gets killed though, and it&#8217;s because of <span class="caps">SSL </span>connections.  Let me elaborate, it&#8217;s because of Tomcat 5.0.x running under <span class="caps">JDK</span> 1.4.x.  One application for one hour out of the year floods <span class="caps">CAS </span>with so many requests that it can&#8217;t keep up due to the overhead of <span class="caps">SSL.  JDK</span> 1.4 just can&#8217;t deal with <span class="caps">SSL </span>very well, or rather, very quickly.  The threads fill up and start blocking connections.  In the business we call that <span class="caps">LTO </span>(Less Than Optimal).</p>

<p>Now, there are many technical solutions (Tomcat has native <a href="http://tomcat.apache.org/tomcat-5.5-doc/apr.html"><span class="caps">APR </span>libraries</a>, we could front with Apache httpd or we have hardware that can do <span class="caps">SSL </span>but the latter has security issues) which we never deployed because for <em>1 hour out of the 8,760 hours in a year</em> we do just fine with the existing setup.  Yes, I understand that&#8217;s <em>only</em> 99.988% uptime, but still it&#8217;s pretty good.</p>

<p>Now, you&#8217;re probably thinking to yourself &#8220;Where the heck have these guys been?  Java 5 gives you a huge performance boost and Java 6 just adds to the gains provided by 5!&#8221;  We&#8217;ve been deploying Java 5 on upgrades and new applications. We just never got to <span class="caps">CAS </span>and honestly there was no real need because <span class="caps">CAS </span>is so simple and so solid, you rarely think about it once it&#8217;s running.</p>

<blockquote>Give me numbers, Mrs. Landingham!</blockquote>

<p>I fired up httperf and grabbed some numbers.</p>

<h3><span class="caps">JDK</span> 1.4.2_06</h3>



<pre>
Total: connections 2000 requests 2000 replies 2000 test-duration 83.398 s

Connection rate: 24.0 conn/s (41.7 ms/conn, &lt; =311 concurrent connections)
Connection time [ms]: min 449.9 avg 6122.5 max 47219.6 median 3891.5 stddev 6211.0
Connection time [ms]: connect 6011.3
Connection length [replies/conn]: 1.000

Request rate: 24.0 req/s (41.7 ms/req)
</pre>



<h3><span class="caps">JDK</span> 1.5.0_15</h3>

</pre>

<pre>
Total: connections 2000 requests 2000 replies 2000 test-duration 57.203 s

Connection rate: 35.0 conn/s (28.6 ms/conn, &lt; =26 concurrent connections)
Connection time [ms]: min 79.7 avg 255.5 max 3421.0 median 163.5 stddev 230.4
Connection time [ms]: connect 225.6
Connection length [replies/conn]: 1.000

Request rate: 35.0 req/s (28.6 ms/req)
</pre>



That&#8217;s roughly a 28% increase in the time to process a request.  Now, we all know that there are lies, damn lies, and statistics.  This is by <em>no means</em> an exhaustive breakdown of the differences between <span class="caps">SSL </span>performance between these two <span class="caps">JVM</span>s.  This is simply a small bit of empirical data.  That being said, it&#8217;s probably the cheapest and easiest performance gain your ever likely to get.</pre>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2008/03/13/tomcat-ssl-performance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introducing &#8220;Chico State Search&#8221; Beta</title>
		<link>http://blogs.csuchico.edu/ik/2007/08/10/chico-state-search-beta/</link>
		<comments>http://blogs.csuchico.edu/ik/2007/08/10/chico-state-search-beta/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 17:16:09 +0000</pubDate>
		<dc:creator>sjungling</dc:creator>
				<category><![CDATA[Information Design]]></category>
		<category><![CDATA[Recent Projects]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Zeitgeist]]></category>
		<category><![CDATA[beta]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/2007/08/10/chico-state-search-beta/</guid>
		<description><![CDATA[We&#8217;ve been tinkering with the campus search interface. Recently, we added a list of popular search terms from the previous day. It&#8217;s like a daily Zeitgeist right on the search page! Brilliant! Would something like this be helpful? Test out the new interface and let us know what you think! Go Search!]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been tinkering with the campus search interface. Recently, we added a list of popular search terms from the previous day. It&#8217;s like a daily <em>Zeitgeist</em> right on the search page! Brilliant! Would something like this be helpful? Test out the <a href="http://search.csuchico.edu">new interface</a> and let us know what you think! <a href="http://search.csuchico.edu">Go Search!</a></p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2007/08/10/chico-state-search-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server Migration</title>
		<link>http://blogs.csuchico.edu/ik/2007/04/27/server-migration/</link>
		<comments>http://blogs.csuchico.edu/ik/2007/04/27/server-migration/#comments</comments>
		<pubDate>Fri, 27 Apr 2007 18:16:34 +0000</pubDate>
		<dc:creator>pberry</dc:creator>
				<category><![CDATA[Recent Projects]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/2007/04/27/server-migration/</guid>
		<description><![CDATA[Yesterday we flipped the switch on our web server migration project.  We migrated the campus web server from SunONE to Apache.  We had a number of issues to deal with.  The big ones were:



User names were going from an old 8-character limited shellid to our user friendly LDAP uids.
Going from Solaris to [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday we flipped the switch on our web server migration project.  We migrated the <a href="http://www.csuchico.edu/">campus web server</a> from SunONE to Apache.  We had a number of issues to deal with.  The big ones were:</p>


<ol>
<li>User names were going from an old 8-character limited shellid to our user friendly <span class="caps">LDAP </span>uids.</li>
<li>Going from Solaris to Linux</li>
</ol>



<p>For the first one, there was some sysadmin magic done with the user/group creation on the new system.  This allowed the uid to change, but file and group ownerships to survive the migration.  But because the uid was changing we also had to redirect ~ directories from old to new.</p>

<p>The second caused a lot of little problems.  Binaries that people had hard coded into scripts were not where they were expected to be.  Linux has a lot of stuff in /bin that Solaris has in /usr/bin, like ls.  I know, who would hard code the location to ls?  People do.  A few strategically placed symbolic links solved the majority of these issues.</p>

<p>The one thing that we didn&#8217;t account for was the difference in the sshd server key.  That caused a lot of problems for the help desk at first.  Things have calmed down now and overall the migration went pretty well.  Users can now authenticate with the <span class="caps">LDAP </span>username and password (which is nice).  We now have the ability to start thinking about what kind of services Apache will allow us to offer to our users.</p>

<p>The Magic 8 Ball says &#8220;Outlook Good.&#8221;</p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2007/04/27/server-migration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Comparison</title>
		<link>http://blogs.csuchico.edu/ik/2006/07/11/quick-comparison/</link>
		<comments>http://blogs.csuchico.edu/ik/2006/07/11/quick-comparison/#comments</comments>
		<pubDate>Tue, 11 Jul 2006 22:38:40 +0000</pubDate>
		<dc:creator>sjungling</dc:creator>
				<category><![CDATA[Recent Projects]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/2006/07/11/quick-comparison/</guid>
		<description><![CDATA[ProjectLines of CodeLines of Test CodeEquipment Disposal297160System Status430328Room Reservations379293Omni (In Progress)273346

Omni presently has no user interface or logic controlling the handling of information. It&#8217;s just models, associations, and tests. It&#8217;ll be interesting to see how big it will grow over the next couple of weeks.]]></description>
			<content:encoded><![CDATA[<table><tr><td><strong>Project</strong></td><td><strong>Lines of Code</strong></td><td><strong>Lines of Test Code</strong></td></tr><tr><td>Equipment Disposal</td><td>297</td><td>160</td></tr><tr><td>System Status</td><td><em>430</em></td><td>328</td></tr><tr><td>Room Reservations</td><td>379</td><td>293</td></tr><tr><td>Omni (In Progress)</td><td>273</td><td><em>346</em></td></tr></table>

<p>Omni presently has no user interface or logic controlling the handling of information. It&#8217;s just models, associations, and tests. It&#8217;ll be interesting to see how big it will grow over the next couple of weeks.</p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2006/07/11/quick-comparison/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
