<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Bad Web Developers Don&#8217;t Scale</title>
	<atom:link href="http://www.rustyrazorblade.com/2009/09/bad-web-developers-dont-scale/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rustyrazorblade.com/2009/09/bad-web-developers-dont-scale/</link>
	<description>Tech Thoughts, Mostly on LAMP - by Jon Haddad</description>
	<lastBuildDate>Thu, 22 Jul 2010 09:10:54 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: uniekje</title>
		<link>http://www.rustyrazorblade.com/2009/09/bad-web-developers-dont-scale/comment-page-1/#comment-42894</link>
		<dc:creator>uniekje</dc:creator>
		<pubDate>Mon, 14 Sep 2009 07:41:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=833#comment-42894</guid>
		<description>Ah. The good old &#039;my code is impeccable&#039; argument. 

As a software developer I know the impact poorly written queries can have on the scalability of a project. However, I do know a lot of them just don&#039;t get the big picture.

My company also provides outsourcing to its clients. We have one particular piece of software which runs dramatically slow on our servers. The creators ofcourse point their fingers to us, because &#039;it runs fine over there&#039;. &#039;Over there&#039; serves about 2% of the concurrent users &#039;over here&#039; serves... Even though we have proof that their app is poorly written, we can&#039;t convince them to correct the situation.</description>
		<content:encoded><![CDATA[<p>Ah. The good old &#8216;my code is impeccable&#8217; argument. </p>
<p>As a software developer I know the impact poorly written queries can have on the scalability of a project. However, I do know a lot of them just don&#8217;t get the big picture.</p>
<p>My company also provides outsourcing to its clients. We have one particular piece of software which runs dramatically slow on our servers. The creators ofcourse point their fingers to us, because &#8216;it runs fine over there&#8217;. &#8216;Over there&#8217; serves about 2% of the concurrent users &#8216;over here&#8217; serves&#8230; Even though we have proof that their app is poorly written, we can&#8217;t convince them to correct the situation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sudheer</title>
		<link>http://www.rustyrazorblade.com/2009/09/bad-web-developers-dont-scale/comment-page-1/#comment-42886</link>
		<dc:creator>Sudheer</dc:creator>
		<pubDate>Sat, 12 Sep 2009 05:44:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=833#comment-42886</guid>
		<description>True. Some people have no idea how to get their application scale well. The server, technology and the customer are potential blame targets for these folks.</description>
		<content:encoded><![CDATA[<p>True. Some people have no idea how to get their application scale well. The server, technology and the customer are potential blame targets for these folks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Twirrim</title>
		<link>http://www.rustyrazorblade.com/2009/09/bad-web-developers-dont-scale/comment-page-1/#comment-42885</link>
		<dc:creator>Twirrim</dc:creator>
		<pubDate>Sat, 12 Sep 2009 01:09:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=833#comment-42885</guid>
		<description>One of the services my department offers our dedicated hosting customers is effectively &#039;sysadmin for hire&#039;.
A fair number of the requests revolve around &quot;Why isn&#039;t MySQL performing well.  What&#039;s wrong with MySQL.&quot;

So tempting to reply &quot;Nothing is wrong with MySQL, go learn to write and design databases and queries fit for purpose.&quot;

As a department we don&#039;t do coding, but still like any sysadmin task it&#039;s necessary for figuring out what is going on.  In one particular customers case their database was using up almost always 100% CPU time even when load was light, let alone when load was heavy.  Logging &quot;Queries without indexes&quot; was shocking, but worse still the most common query involved some very memory intensive SORT, JOIN &amp; GROUP BY processes.  Even with just one or two other queries running it was taking 5 seconds to process.  It really didn&#039;t help that the bulk of their data was in a single table, 1.5m rows x 140 columns, rather than partitioned logically.

Just by breaking the query down into three or four separate ones I came up with a much, much faster way to achieve the same result in &lt;0.5 seconds.  I carefully presented the results to the customer, explained why MySQL was running slow, explained how they could structure their queries and data better.

The response?  &quot;It works fast on this other site, why is it slow here?&quot;  We&#039;ll just ignore how the other site was smaller, completely different data set (each row was so much smaller)

Even after careful explanation, instead of altering their code or database design they decided to fork out a few hundred dollars extra a month to get a dedicated high powered database server.  The code still is ugly, but hey at least the db server has the horsepower to handle it.</description>
		<content:encoded><![CDATA[<p>One of the services my department offers our dedicated hosting customers is effectively &#8217;sysadmin for hire&#8217;.<br />
A fair number of the requests revolve around &#8220;Why isn&#8217;t MySQL performing well.  What&#8217;s wrong with MySQL.&#8221;</p>
<p>So tempting to reply &#8220;Nothing is wrong with MySQL, go learn to write and design databases and queries fit for purpose.&#8221;</p>
<p>As a department we don&#8217;t do coding, but still like any sysadmin task it&#8217;s necessary for figuring out what is going on.  In one particular customers case their database was using up almost always 100% CPU time even when load was light, let alone when load was heavy.  Logging &#8220;Queries without indexes&#8221; was shocking, but worse still the most common query involved some very memory intensive SORT, JOIN &amp; GROUP BY processes.  Even with just one or two other queries running it was taking 5 seconds to process.  It really didn&#8217;t help that the bulk of their data was in a single table, 1.5m rows x 140 columns, rather than partitioned logically.</p>
<p>Just by breaking the query down into three or four separate ones I came up with a much, much faster way to achieve the same result in &lt;0.5 seconds.  I carefully presented the results to the customer, explained why MySQL was running slow, explained how they could structure their queries and data better.</p>
<p>The response?  &#8220;It works fast on this other site, why is it slow here?&#8221;  We&#8217;ll just ignore how the other site was smaller, completely different data set (each row was so much smaller)</p>
<p>Even after careful explanation, instead of altering their code or database design they decided to fork out a few hundred dollars extra a month to get a dedicated high powered database server.  The code still is ugly, but hey at least the db server has the horsepower to handle it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Johnson</title>
		<link>http://www.rustyrazorblade.com/2009/09/bad-web-developers-dont-scale/comment-page-1/#comment-42884</link>
		<dc:creator>Jeff Johnson</dc:creator>
		<pubDate>Sat, 12 Sep 2009 01:01:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=833#comment-42884</guid>
		<description>Amen.</description>
		<content:encoded><![CDATA[<p>Amen.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
