<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Building Slow Development Systems (On Purpose)</title>
	<atom:link href="http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/feed/" rel="self" type="application/rss+xml" />
	<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/</link>
	<description>Just another Oracle blog</description>
	<pubDate>Fri, 12 Mar 2010 20:34:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Maggie</title>
		<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/#comment-3001</link>
		<dc:creator>Maggie</dc:creator>
		<pubDate>Wed, 01 Jul 2009 15:19:15 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=1446#comment-3001</guid>
		<description>That's  a good perspective. I agree that may be making it slow will result in writing an efficiet code!</description>
		<content:encoded><![CDATA[<p>That&#8217;s  a good perspective. I agree that may be making it slow will result in writing an efficiet code!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kostas Hairopoulos</title>
		<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/#comment-2908</link>
		<dc:creator>Kostas Hairopoulos</dc:creator>
		<pubDate>Sun, 28 Jun 2009 14:26:14 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=1446#comment-2908</guid>
		<description>In the year 1999, we had to develop one of the first 3-tier applications using oracle forms. The development was great, test even better but in the productions things were not so good. Users were complaining for slow responses. After two painful days, we discovered that 50% of the users were in the WAN environment and another 50% in LAN. 
I changed the development environment using simulated WAN lines (within the LAN) and I faced exactly the same pain.
A lot of useless sqlnet round trips because of bad buffer size, inappropriate settings at TCP level, some troubleshooting at listener level and of course the production data didnt match test data. 
My conclusion is the following

1. Use slow hardware but the same operating system and database version
2. Generate a lot of data similar to production to check queries, statistics, histograms etc
3. Use similar network as in production

In this way, the developers from the beginning they will try the best by themseves

You have an excellent blog

Thank you
Kostas Hairopoulos</description>
		<content:encoded><![CDATA[<p>In the year 1999, we had to develop one of the first 3-tier applications using oracle forms. The development was great, test even better but in the productions things were not so good. Users were complaining for slow responses. After two painful days, we discovered that 50% of the users were in the WAN environment and another 50% in LAN.<br />
I changed the development environment using simulated WAN lines (within the LAN) and I faced exactly the same pain.<br />
A lot of useless sqlnet round trips because of bad buffer size, inappropriate settings at TCP level, some troubleshooting at listener level and of course the production data didnt match test data.<br />
My conclusion is the following</p>
<p>1. Use slow hardware but the same operating system and database version<br />
2. Generate a lot of data similar to production to check queries, statistics, histograms etc<br />
3. Use similar network as in production</p>
<p>In this way, the developers from the beginning they will try the best by themseves</p>
<p>You have an excellent blog</p>
<p>Thank you<br />
Kostas Hairopoulos</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: osborne</title>
		<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/#comment-2120</link>
		<dc:creator>osborne</dc:creator>
		<pubDate>Thu, 28 May 2009 18:10:56 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=1446#comment-2120</guid>
		<description>Just FYI. I requested feedback on the idea on the oracle-l mailing list a couple of days ago and there were several responses. It was more negative than positive - although there were a few that were in favor of this approach. You can see the related messages here: &lt;a href="http://www.freelists.org/post/oracle-l/Building-Slow-Development-Systems-On-Purpose" rel="nofollow"&gt;Building Slow Development Systems on Purpose&lt;/a&gt; 

I found it amusing that at the end the messages started to degenerate into how to make things run slow. Stephane Faroult recommended setting a small SDU to slow down SQL*Net traffic and putting redo logs on slow/busy disks to slow down commits. Cary Milsap mentioned setting protocol=tcp (as opposed to ipc) to exaggerate network latency. Yong Huang recommended setting commit_write = 'immediate,wait' to slow down commits. That list is usually all about how to speed things up. I thought it was an ironic twist.

Kerry</description>
		<content:encoded><![CDATA[<p>Just FYI. I requested feedback on the idea on the oracle-l mailing list a couple of days ago and there were several responses. It was more negative than positive - although there were a few that were in favor of this approach. You can see the related messages here: <a href="http://www.freelists.org/post/oracle-l/Building-Slow-Development-Systems-On-Purpose" onclick="javascript:pageTracker._trackPageview('/outbound/comment/www.freelists.org');" rel="nofollow">Building Slow Development Systems on Purpose</a> </p>
<p>I found it amusing that at the end the messages started to degenerate into how to make things run slow. Stephane Faroult recommended setting a small SDU to slow down SQL*Net traffic and putting redo logs on slow/busy disks to slow down commits. Cary Milsap mentioned setting protocol=tcp (as opposed to ipc) to exaggerate network latency. Yong Huang recommended setting commit_write = &#8216;immediate,wait&#8217; to slow down commits. That list is usually all about how to speed things up. I thought it was an ironic twist.</p>
<p>Kerry</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: osborne</title>
		<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/#comment-2100</link>
		<dc:creator>osborne</dc:creator>
		<pubDate>Thu, 28 May 2009 02:14:53 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=1446#comment-2100</guid>
		<description>Hey, you left out my smiley, winking face ;). 

I agree with you that negative side affects could occur, maybe more frequently than the desired results. And I agree with you, manipulation is a four syllable word. But on the other hand, most development systems I've seen are less capable than the production systems they support (but usually not in a methodical way). By that I mean that they are usually made up of left over parts, older production systems for example that have been replaced. And they seem to do the job. So I'm not sure that a more methodical approach to slowing down a specific operation may not yield desirable results. I really haven't made up mind yet, but I find the idea quite interesting. 

By the way, I posted the same basic info on the Oracle-l list and have had several responses. Most are in the "YOU'VE GOT TO BE KIDDING!" camp, but a few have said that they do intentionally set up development system to be slower. 

By the way number 2, my friend didn't put it nearly as harshly as I did. He said something to the effect that if the code performed well on the less capable development system it had a much better chance of performing well when it was moved to production. His position may well be motivated by the expertise of the development group he is working with. (I doubt seriously that they ever heard of a buffer cache hit ratio) But like I said, I'm still not convinced.

Kerry</description>
		<content:encoded><![CDATA[<p>Hey, you left out my smiley, winking face ;). </p>
<p>I agree with you that negative side affects could occur, maybe more frequently than the desired results. And I agree with you, manipulation is a four syllable word. But on the other hand, most development systems I&#8217;ve seen are less capable than the production systems they support (but usually not in a methodical way). By that I mean that they are usually made up of left over parts, older production systems for example that have been replaced. And they seem to do the job. So I&#8217;m not sure that a more methodical approach to slowing down a specific operation may not yield desirable results. I really haven&#8217;t made up mind yet, but I find the idea quite interesting. </p>
<p>By the way, I posted the same basic info on the Oracle-l list and have had several responses. Most are in the &#8220;YOU&#8217;VE GOT TO BE KIDDING!&#8221; camp, but a few have said that they do intentionally set up development system to be slower. </p>
<p>By the way number 2, my friend didn&#8217;t put it nearly as harshly as I did. He said something to the effect that if the code performed well on the less capable development system it had a much better chance of performing well when it was moved to production. His position may well be motivated by the expertise of the development group he is working with. (I doubt seriously that they ever heard of a buffer cache hit ratio) But like I said, I&#8217;m still not convinced.</p>
<p>Kerry</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gary</title>
		<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/#comment-2093</link>
		<dc:creator>Gary</dc:creator>
		<pubDate>Wed, 27 May 2009 22:30:41 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=1446#comment-2093</guid>
		<description>"I don’t think my friend told the developers that he had intentionally reduced performance of Dev by making the buffer cache so small."
But if the developers know how to performance tune, they should be able to see that the physical IOs are a high proportion of logical IO (oh no, buffer cache hit ratio strikes again). Or maybe, by hit and miss, they find out that caching data in PL/SQL variables/tables makes it go faster. Which is great on a single user development environment. Not so good in Prod when you have a few hundred sessions with inflated PGA all caching the same values. Or maybe they push everything to a Java layer, whinge about Oracle being too slow and how they should move to mySQL/SQL Server/Postgres.
Sorry, but the DBA artificially hampering the developers strikes me as playing politics rather than an intention to deliver quality solutions to the business.</description>
		<content:encoded><![CDATA[<p>&#8220;I don’t think my friend told the developers that he had intentionally reduced performance of Dev by making the buffer cache so small.&#8221;<br />
But if the developers know how to performance tune, they should be able to see that the physical IOs are a high proportion of logical IO (oh no, buffer cache hit ratio strikes again). Or maybe, by hit and miss, they find out that caching data in PL/SQL variables/tables makes it go faster. Which is great on a single user development environment. Not so good in Prod when you have a few hundred sessions with inflated PGA all caching the same values. Or maybe they push everything to a Java layer, whinge about Oracle being too slow and how they should move to mySQL/SQL Server/Postgres.<br />
Sorry, but the DBA artificially hampering the developers strikes me as playing politics rather than an intention to deliver quality solutions to the business.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: osborne</title>
		<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/#comment-2080</link>
		<dc:creator>osborne</dc:creator>
		<pubDate>Wed, 27 May 2009 13:35:12 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=1446#comment-2080</guid>
		<description>Hmmm, I thought this one might generate a little discussion. 

Peter and Coskan, I don't think my friend told the developers that he had intentionally reduced performance of Dev by making the buffer cache so small. So I don't think they would have that info readily available as an excuse ;). But I do get your point. If the developers feel beat down, eventually they will just quit trying (or start blaming the Dev system). 

I have to say that my first reaction was that this approach was just wrong. But for some reason, my brain keeps replaying the conversation. So I'm not sure what that means, but it is interesting.

Kerry</description>
		<content:encoded><![CDATA[<p>Hmmm, I thought this one might generate a little discussion. </p>
<p>Peter and Coskan, I don&#8217;t think my friend told the developers that he had intentionally reduced performance of Dev by making the buffer cache so small. So I don&#8217;t think they would have that info readily available as an excuse ;). But I do get your point. If the developers feel beat down, eventually they will just quit trying (or start blaming the Dev system). </p>
<p>I have to say that my first reaction was that this approach was just wrong. But for some reason, my brain keeps replaying the conversation. So I&#8217;m not sure what that means, but it is interesting.</p>
<p>Kerry</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: What if Vendor&#8217;s code was wrong ? &#171; Coskan&#8217;s Approach to Oracle</title>
		<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/#comment-2078</link>
		<dc:creator>What if Vendor&#8217;s code was wrong ? &#171; Coskan&#8217;s Approach to Oracle</dc:creator>
		<pubDate>Wed, 27 May 2009 12:32:18 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=1446#comment-2078</guid>
		<description>[...] say you got a VM server or slow development server and most of the time users are already crying for slow performance on DEV system when they compare [...]</description>
		<content:encoded><![CDATA[<p>[...] say you got a VM server or slow development server and most of the time users are already crying for slow performance on DEV system when they compare [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Laurent Schneider</title>
		<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/#comment-2071</link>
		<dc:creator>Laurent Schneider</dc:creator>
		<pubDate>Wed, 27 May 2009 07:44:02 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=1446#comment-2071</guid>
		<description>The developer who does not care about performance will not improve his code, he will just complain about the environment.

But it is an interesting approach!</description>
		<content:encoded><![CDATA[<p>The developer who does not care about performance will not improve his code, he will just complain about the environment.</p>
<p>But it is an interesting approach!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Coskan</title>
		<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/#comment-2070</link>
		<dc:creator>Coskan</dc:creator>
		<pubDate>Wed, 27 May 2009 06:46:59 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=1446#comment-2070</guid>
		<description>I agree with Peter, imho If there is an excuse for the dodgy code that excuse will be used sooner or later.</description>
		<content:encoded><![CDATA[<p>I agree with Peter, imho If there is an excuse for the dodgy code that excuse will be used sooner or later.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: osborne</title>
		<link>http://kerryosborne.oracle-guy.com/2009/05/building-slow-development-systems-on-purpose/#comment-2062</link>
		<dc:creator>osborne</dc:creator>
		<pubDate>Wed, 27 May 2009 02:52:27 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=1446#comment-2062</guid>
		<description>Gary,

Well don't hold back! Tell us how do you really feel!

Seriously though, I agree with you (I think). To your point number 1, I definitely think you can influence what the developers do by how the system is built (which I think was my friend's point). I hadn't really given it any thought before, but making the buffer cache really small basically turns all the logical i/o into physical i/o, therefore "encouraging" the developers to minimize the logical i/o's. Maybe not such a bad thing. 

Points 2-4 on the other hand could be serious draw backs.

Kerry</description>
		<content:encoded><![CDATA[<p>Gary,</p>
<p>Well don&#8217;t hold back! Tell us how do you really feel!</p>
<p>Seriously though, I agree with you (I think). To your point number 1, I definitely think you can influence what the developers do by how the system is built (which I think was my friend&#8217;s point). I hadn&#8217;t really given it any thought before, but making the buffer cache really small basically turns all the logical i/o into physical i/o, therefore &#8220;encouraging&#8221; the developers to minimize the logical i/o&#8217;s. Maybe not such a bad thing. </p>
<p>Points 2-4 on the other hand could be serious draw backs.</p>
<p>Kerry</p>
]]></content:encoded>
	</item>
</channel>
</rss>
