<?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>Roman Barczyński</title>
	<atom:link href="http://www.romke.net/priv/blog/en/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.romke.net/priv/blog/en/</link>
	<description>romke blog</description>
	<lastBuildDate>Thu, 05 Aug 2010 23:53:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Google homepage wallpaper removal</title>
		<link>http://www.romke.net/priv/blog/en/2010/06/google-homepage-wallpaper-removal/</link>
		<comments>http://www.romke.net/priv/blog/en/2010/06/google-homepage-wallpaper-removal/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 12:00:03 +0000</pubDate>
		<dc:creator>Roman Barczyński</dc:creator>
				<category><![CDATA[Lifehacks]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.romke.net/priv/blog/?p=252</guid>
		<description><![CDATA[Yes, they&#8217;re nuts. Their wallpaper idea is more than, well, stupid. Here&#8217;s simple solution: Download blank.png, Click change background in bottom left corner, Click &#8220;From my computer&#8221;, Upload file you just downloaded. It&#8217;s not as good as original Google page, but it definitely more eye-friendly that their idea of it.]]></description>
			<content:encoded><![CDATA[<p>Yes, they&#8217;re nuts. Their wallpaper idea is more than, well, stupid. Here&#8217;s simple solution:</p>
<ol>
<li>Download <a href="http://picasaweb.google.com/112527422993522738626/GoogleHomePage#5481109981143267234">blank.png</a>,</li>
<li>Click change background in bottom left corner,</li>
<li>Click &#8220;From my computer&#8221;,</li>
<li>Upload file you just downloaded.</li>
</ol>
<p>It&#8217;s not as good as original Google page, but it definitely more eye-friendly that their idea of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romke.net/priv/blog/en/2010/06/google-homepage-wallpaper-removal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Get sick&#8230;</title>
		<link>http://www.romke.net/priv/blog/en/2010/06/get-sick/</link>
		<comments>http://www.romke.net/priv/blog/en/2010/06/get-sick/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 20:58:18 +0000</pubDate>
		<dc:creator>Roman Barczyński</dc:creator>
				<category><![CDATA[Lifehacks]]></category>
		<category><![CDATA[Various]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[romke]]></category>
		<category><![CDATA[sick]]></category>

		<guid isPermaLink="false">http://www.romke.net/priv/blog/?p=243</guid>
		<description><![CDATA[When your business is growing and you start to think what you could possibly improve and you lack of ideas&#8230; get sick! This might seem a little weird but it gives you perspective. What will happen when for few days you won&#8217;t be able to focus all your efforts on it.]]></description>
			<content:encoded><![CDATA[<p>When your business is growing and you start to think what you could possibly improve and you lack of ideas&#8230; get sick! <span id="more-243"></span>This might seem a little weird but it gives you perspective. What will happen when for few days you won&#8217;t be able to focus all your efforts on it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romke.net/priv/blog/en/2010/06/get-sick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chrome New Tab Favorites and little hack</title>
		<link>http://www.romke.net/priv/blog/en/2010/03/chrome-new-tab-favorites-and-little-hack/</link>
		<comments>http://www.romke.net/priv/blog/en/2010/03/chrome-new-tab-favorites-and-little-hack/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 01:44:06 +0000</pubDate>
		<dc:creator>Roman Barczyński</dc:creator>
				<category><![CDATA[Lifehacks]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[tabs]]></category>

		<guid isPermaLink="false">http://www.romke.net/priv/blog/?p=228</guid>
		<description><![CDATA[This is my new tab page in Chrome: When you open new tab in most browsers you got plenty space wasted on automated pages like most frequently visited. Well, what if I visit some pages 3-4 times a month but I&#8217;d really like to have them quickly accessible. Bookmark toolbars times are gone&#8230; they stick [...]]]></description>
			<content:encoded><![CDATA[<p>This is my new tab page in Chrome:<br />
<a href="http://www.romke.net/priv/blog/wp-content/uploads/2010/03/new-tab.jpg"><img class="aligncenter size-full wp-image-229" title="chrome-new-tab" src="http://www.romke.net/priv/blog/wp-content/uploads/2010/03/new-tab.jpg" alt="" width="600" height="443" /></a></p>
<p>When you open new tab in most browsers you got plenty space wasted on automated pages like most frequently visited. Well, what if I visit some pages 3-4 times a month but I&#8217;d really like to have them quickly accessible. Bookmark toolbars times are gone&#8230; they stick on screen, they&#8217;re awful to manage (4 clicks to get to ONE &#8220;well categorized&#8221; bookmark???).</p>
<p>This single screen replaces 3-click deep bookmark tree.</p>
<p>Now how it&#8217;s done.</p>
<p>1. Get &#8220;New Tab Favorites&#8221;* Google Chrome Extension,<br />
2. find it&#8217;s files and replace newtab.html with your own file.<br />
3. Voila!</p>
<p>*) other new tab extensions will do as well but this one leaves address bar EMPTY so it&#8217;s faster to paste or search on new tab.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romke.net/priv/blog/en/2010/03/chrome-new-tab-favorites-and-little-hack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google won&#8217;t forget what you&#8217;ve done!</title>
		<link>http://www.romke.net/priv/blog/en/2010/03/google-wont-forget-what-youve-done/</link>
		<comments>http://www.romke.net/priv/blog/en/2010/03/google-wont-forget-what-youve-done/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 18:29:20 +0000</pubDate>
		<dc:creator>Roman Barczyński</dc:creator>
				<category><![CDATA[Various]]></category>

		<guid isPermaLink="false">http://www.romke.net/priv/blog/?p=185</guid>
		<description><![CDATA[Sigh, make mistake on web and Google won&#8217;t forget it to you. It&#8217;s month since I&#8217;ve changed my Facebook profile to be private (url generates 404) and it&#8217;s still indexed by Google.]]></description>
			<content:encoded><![CDATA[<p>Sigh, make mistake on web and Google won&#8217;t forget it to you. It&#8217;s month since I&#8217;ve changed my Facebook profile to be private (url generates 404) and it&#8217;s still indexed by Google.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romke.net/priv/blog/en/2010/03/google-wont-forget-what-youve-done/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ugly Chrome forms on Linux</title>
		<link>http://www.romke.net/priv/blog/en/2010/02/ugly-chrome-forms-on-linux/</link>
		<comments>http://www.romke.net/priv/blog/en/2010/02/ugly-chrome-forms-on-linux/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 00:19:06 +0000</pubDate>
		<dc:creator>Roman Barczyński</dc:creator>
				<category><![CDATA[Various]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ugly]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://www.romke.net/priv/blog/?p=136</guid>
		<description><![CDATA[Here&#8217;s default form inputs in Google Chrome on Linux (ubuntu) &#8211; totaly unstyled (only font changed AFAIR): yes, it&#8217;s ugly as hell. Each input type is different size, padding, etc.Chrome on Windows it&#8217;s messy too but less noticeable because of Windows default inputs: Come on Google! Get to work and do something about it, even [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s default form inputs in Google Chrome on Linux (ubuntu) &#8211; totaly unstyled (only font changed AFAIR):</p>
<p><a href="http://www.romke.net/priv/blog/wp-content/uploads/2010/02/chrome-linux.png"><img class="alignnone size-full wp-image-137" title="Chrome on Linux" src="http://www.romke.net/priv/blog/wp-content/uploads/2010/02/chrome-linux.png" alt="" width="700" height="320" /></a></p>
<p>yes, it&#8217;s ugly as hell. Each input type is different size, padding, etc.<span id="more-136"></span>Chrome on Windows it&#8217;s messy too but less noticeable because of Windows default inputs:</p>
<p><a href="http://www.romke.net/priv/blog/wp-content/uploads/2010/02/chrome-win.png"><img class="alignnone size-full wp-image-139" title="Chrome on Windows" src="http://www.romke.net/priv/blog/wp-content/uploads/2010/02/chrome-win.png" alt="" width="700" height="320" /></a></p>
<p>Come on Google! Get to work and do something about it, even IE8 looks better:</p>
<p><a href="http://www.romke.net/priv/blog/wp-content/uploads/2010/02/ie8.png"><img class="alignnone size-full wp-image-140" title="IE8" src="http://www.romke.net/priv/blog/wp-content/uploads/2010/02/ie8.png" alt="" width="700" height="320" /></a></p>
<p>and you should really aim to Firefox 3.6 on Linux amazing looks:</p>
<p><a href="http://www.romke.net/priv/blog/wp-content/uploads/2010/02/ff36-linux.png"><img class="alignnone size-full wp-image-141" title="Firefox 3.6 on Linux" src="http://www.romke.net/priv/blog/wp-content/uploads/2010/02/ff36-linux.png" alt="" width="700" height="320" /></a></p>
<p>To Firefox team: amazing work thou it might be because of Ubuntu system theme design. Thank you. Now give me speed and flexibility of Chrome (like moving tabs between windows without reseting state of its content) and I&#8217;ll switch back. I promise ;P</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romke.net/priv/blog/en/2010/02/ugly-chrome-forms-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django smartspaceless</title>
		<link>http://www.romke.net/priv/blog/en/2010/02/django-smartspaceless/</link>
		<comments>http://www.romke.net/priv/blog/en/2010/02/django-smartspaceless/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 11:43:36 +0000</pubDate>
		<dc:creator>Roman Barczyński</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://www.romke.net/priv/blog/?p=128</guid>
		<description><![CDATA[Default django spaceless tag is weird, it consumes all spaces between tags and none inside of them. It&#8217;s good for small parts of site but&#8230; &#8230;But I like my html to be cleared of all unnecessary mess which in many cases end up like this: &#60;a href="..."&#62;link1&#60;/a&#62; &#60;a href="..."&#62;link2&#60;/a&#62; generates awful: link1link2 In addition if [...]]]></description>
			<content:encoded><![CDATA[<p>Default django spaceless tag is weird, it consumes all spaces between tags and none inside of them. It&#8217;s good for small parts of site but&#8230;</p>
<p><span id="more-128"></span>&#8230;But I like my html to be cleared of all unnecessary mess which in many cases end up like this:</p>
<pre>&lt;a href="..."&gt;link1&lt;/a&gt; &lt;a href="..."&gt;link2&lt;/a&gt;</pre>
<p>generates awful:</p>
<pre><span style="text-decoration: underline;">link1link2</span></pre>
<p>In addition if you like having your templates indented it leaves awful things like:</p>
<pre>&lt;div&gt;
                                Test text testt
                             &lt;/div&gt;</pre>
<p>Here&#8217;s my &#8220;smart&#8221; version of strip_spaces_between_tags which can be used with overrided spaceless template tag:</p>
<pre>def strip_multiple_spaces_between_tags(value):
    """Returns the given HTML with multiple spaces between tags removed."""
    def tagcheck(obj, prefix='', sufix=''):
        tag = obj.group(1).lower()
        if tag[0] == '/':
            tag = tag[1:]
        if tag != 'pre':
            return '%s&lt;%s&gt;%s' % (prefix, ''.join(obj.groups('')), sufix)
        return obj.group(0)
    def tagprecheck(obj):
        return tagcheck(obj, sufix=' ')
    def tagpostcheck(obj):
        return tagcheck(obj, prefix=' ')

    value = force_unicode(value)
    value = re.sub(r'&lt;(/?[\w]+)([^&gt;]*)&gt;\s{2,}', tagprecheck, value);
    value = re.sub(r'\s{2,}&lt;(/?[\w]+)([^&gt;]*)&gt;', tagpostcheck, value)
    value = re.sub(r'&gt;\s{2,}&lt;', '&gt; &lt;', value)
    return value
strip_multiple_spaces_between_tags = allow_lazy(strip_multiple_spaces_between_tags, unicode)</pre>
<p>This does few things:</p>
<ul>
<li>it removes all multiple spaces between tags,</li>
<li>it removes all multiple spaces at from &#8220;&lt;tag&gt; HERE text HERE &lt;/tag&gt;&#8221; on all tags <strong>except</strong> pre.</li>
</ul>
<p>If you find it useful or you have fix/extension to it (any other tag I should think of?) please feel free to comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romke.net/priv/blog/en/2010/02/django-smartspaceless/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django contib.auth based openid provider</title>
		<link>http://www.romke.net/priv/blog/en/2009/12/django-contib-auth-based-openid-provider/</link>
		<comments>http://www.romke.net/priv/blog/en/2009/12/django-contib-auth-based-openid-provider/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 15:40:54 +0000</pubDate>
		<dc:creator>Roman Barczyński</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.romke.net/priv/blog/?p=106</guid>
		<description><![CDATA[Did you ever wanted your django powered app to act as OpenIP provider (server) for all that new OpenID enabled sites you logon? Well. I did. After searching, more searching, waiting for few months and then searching again I found none working out of box. So I wrote one, you can find it on bitbucket: [...]]]></description>
			<content:encoded><![CDATA[<p>Did you ever wanted your django powered app to act as OpenIP provider (server) for all that new OpenID enabled sites you logon?</p>
<p>Well. I did. After searching, more searching, waiting for few months and then searching again I found none working out of box.</p>
<p>So I wrote one, you can find it on bitbucket: <a href="http://bitbucket.org/romke/django_openid_provider/" target="_blank">django_openid_provider</a>.</p>
<p>Download, add it to your installed apps and urlpatterns, create openid for your django.contrib.auth user and it&#8217;s ready to use!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romke.net/priv/blog/en/2009/12/django-contib-auth-based-openid-provider/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python &amp; SOAP &#8211; new hope</title>
		<link>http://www.romke.net/priv/blog/en/2009/09/python-soap-new-hope/</link>
		<comments>http://www.romke.net/priv/blog/en/2009/09/python-soap-new-hope/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 18:53:04 +0000</pubDate>
		<dc:creator>Roman Barczyński</dc:creator>
				<category><![CDATA[Various]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[soapy]]></category>
		<category><![CDATA[suds]]></category>
		<category><![CDATA[zsi]]></category>

		<guid isPermaLink="false">http://www.romke.net/priv/blog/?p=156</guid>
		<description><![CDATA[For long time I&#8217;ve been postponing porting of one API I work with from PHP to Python because I&#8217;ve heard Pythons SOAP support is awful but eventually I had to do it. SOAPpy  was first failure &#8211; it couldn&#8217;t handle WSDL defined types but should I expect anything from lib with version number 0.12.0_rc1 that [...]]]></description>
			<content:encoded><![CDATA[<p>For long time I&#8217;ve been postponing porting of one API I work with from PHP to Python because I&#8217;ve heard Pythons SOAP support is awful but eventually I had to do it. SOAPpy  was first failure &#8211; it couldn&#8217;t handle WSDL defined types but should I expect anything from lib with version number 0.12.0_rc1 that wasn&#8217;t updated since 4 years?</p>
<p><span id="more-156"></span></p>
<p>Next in line was little fresher ZSI. I say little because its last version was dated November 2007. It was better than SOAPpy, it correctly formated and encoded outgoing message but when response was received with same data type that was sent ZSI couldn&#8217;t handle it.</p>
<p>After about 6 hours of debugging and forcing ZSI to work with that data type I thought &#8220;So well supported (library-wise) language like Python cannot have this particular technology supported so bad&#8221; and I started digging again. I stumbled upon hundreds of opinions like &#8220;SOAP sucks! so why you want to implement it? use REST or anything but not SOAP&#8221;. Well, if it were up to me I would do it RESTfull but it wasn&#8217;t! I was <strong>provided</strong> with access to third party application, they weren&#8217;t able to give me anything else so I have to live with it &#8211; they won&#8217;t add another API just because I use language that has bad support for protocol of their choice and many other popular languages (like PHP or Ruby) support it just like that.</p>
<p>And then I found it. On <a href="http://stackoverflow.com/">StackOverflow</a> if found guy with same problem as mine. Answer he got was &#8220;<strong>use suds</strong> &#8211; it really works&#8221;. I&#8217;ve given it a try and it works. Include, 2 lines of code and? works like charm, uses WSDL defined types, enumeration, service inspection (with type requirements) by simple &#8220;print object&#8221;, unicode nad so on&#8230;</p>
<p>So if you really need to use SOAP in Python then I recommend use <a href="https://fedorahosted.org/suds/">suds</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romke.net/priv/blog/en/2009/09/python-soap-new-hope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>itk vs peruser &#8211; apache performance</title>
		<link>http://www.romke.net/priv/blog/en/2009/03/itk-vs-peruser-apache-performance/</link>
		<comments>http://www.romke.net/priv/blog/en/2009/03/itk-vs-peruser-apache-performance/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 01:28:00 +0000</pubDate>
		<dc:creator>Roman Barczyński</dc:creator>
				<category><![CDATA[Różne]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://www.romke.net/priv/blog/?p=164</guid>
		<description><![CDATA[Recently I&#8217;ve done some tests comparing two apache MPMs: itk and peruser. Both modules provide user/group setting for each virtual host which is extremely important when you&#8217;re setting up shared hosting. Let&#8217;s take closer look on both MPMs philosophy. Both somehow derived from prefork which provide good performance without need to use only &#8220;thread safe&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve done some tests comparing two apache MPMs: <strong>itk</strong> and <strong>peruser</strong>. Both modules provide user/group setting for each virtual host which is extremely important when you&#8217;re setting up shared hosting.</p>
<p><span id="more-164"></span>Let&#8217;s take closer look on both MPMs philosophy. Both somehow derived from <strong>prefork</strong> which provide good performance without need to use only &#8220;thread safe&#8221; libs and code (like <strong>worker</strong> does).</p>
<p><strong>itk</strong> works very similar to prefork. When request arives itk checks to which vhost it is directected and performs: fork &amp; setgid &amp; setuid and when forked process sends response it&#8217;s killed. Well, where&#8217;s preforks speed boost which comes from serving several (hundreds, thousands) requests on <em>preforked</em> apache process? Well, itk ignores that need and just forks instantly :/</p>
<p><strong>peruser</strong> has better design but it requires more precise configuration. peruser creates process pool same way prefork does but on that stage it actually performs setgid &amp; setuid it also leaves few processes as multiplexers which direct all incoming request to process which match uid &amp; gid with vhost configuration.</p>
<p>Here you have links where you can read about <a href="http://blog.stuartherbert.com/php/2008/04/19/using-mpm-itk-to-secure-a-shared-server/">itk</a> &amp; <a href="http://blog.stuartherbert.com/php/2008/03/20/using-mpm-peruser-to-secure-a-shared-server/">peruser</a> configuration. Now lets do some testing.</p>
<p>For testing I was using siege, default WordPress on mysql (mod_php and php-cgi) and simple django site (mod_python). In each case siege was run like this: <strong>siege -c 20 -b -t 1m URL</strong></p>
<pre><strong>itk, mod_python (django):
</strong>Transactions:                    566 hits
Availability:                  99.65 %
Elapsed time:                  63.20 secs
Data transferred:               0.61 MB
Response time:                  1.87 secs
Transaction rate:               <strong>8.96 trans/sec</strong>
Throughput:                     0.01 MB/sec
Concurrency:                   16.74
Successful transactions:         565
Failed transactions:               2
Longest transaction:           28.07
Shortest transaction:           0.25
<strong>peruser, mod_python (django):
</strong>Transactions:                  17422 hits
Availability:                 100.00 %
Elapsed time:                  59.55 secs
Data transferred:              16.13 MB
Response time:                  0.07 secs
Transaction rate:             <strong>292.56 trans/sec</strong>
Throughput:                     0.27 MB/sec
Concurrency:                   19.97
Successful transactions:       17422
Failed transactions:               0
Longest transaction:            5.10
Shortest transaction:           0.01

<strong>itk, php5cgi (wordpress):
</strong>Transactions:                    757 hits
Availability:                  99.87 %
Elapsed time:                  61.29 secs
Data transferred:              11.13 MB
Response time:                  1.53 secs
Transaction rate:              <strong>12.35 trans/sec</strong>
Throughput:                     0.18 MB/sec
Concurrency:                   18.91
Successful transactions:         757
Failed transactions:               1
Longest transaction:           29.51
Shortest transaction:           0.19
<strong>peruser, php5cgi (wordpress):
</strong>Transactions:                    762 hits
Availability:                 100.00 %
Elapsed time:                  61.12 secs
Data transferred:              11.24 MB
Response time:                  1.57 secs
Transaction rate:              <strong>12.47 trans/sec</strong>
Throughput:                     0.18 MB/sec
Concurrency:                   19.57
Successful transactions:         762
Failed transactions:               0
Longest transaction:           17.14
Shortest transaction:           0.19

<strong>itk, mod_php5 (wordpress):
</strong>Transactions:                    814 hits
Availability:                  99.88 %
Elapsed time:                  60.95 secs
Data transferred:              11.52 MB
Response time:                  1.31 secs
Transaction rate:              <strong>13.36 trans/sec</strong>
Throughput:                     0.19 MB/sec
Concurrency:                   17.54
Successful transactions:         814
Failed transactions:               1
Longest transaction:           22.11
Shortest transaction:           0.17
<strong>peruser, mod_php5 (wordpress):
</strong>Transactions:                   1034 hits
Availability:                 100.00 %
Elapsed time:                  64.72 secs
Data transferred:              14.63 MB
Response time:                  1.21 secs
Transaction rate:              <strong>15.98 trans/sec</strong>
Throughput:                     0.23 MB/sec
Concurrency:                   19.34
Successful transactions:        1034
Failed transactions:               0
Longest transaction:           24.50
Shortest transaction:           0.15</pre>
<p>Conclusion? It&#8217;s faster (well, not in case of CGI but CGI each time execs php binary anyway), in some cases much faster but even 25% on mod_php5 is boost worth consideration. Nevertheless test it yourself for your particular case because from practical applications I know there&#8217;s no ideal setup that will work for &#8220;everything&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romke.net/priv/blog/en/2009/03/itk-vs-peruser-apache-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
