<?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>Blog.Project13.pl &#187; centos</title>
	<atom:link href="http://www.blog.project13.pl/index.php/tag/centos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blog.project13.pl</link>
	<description>The Blog of a Coder</description>
	<lastBuildDate>Sun, 05 Feb 2012 02:28:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Keeping processes alive using God&#8217;s power</title>
		<link>http://www.blog.project13.pl/index.php/coding/1338/keeping-processes-alive-using-gods-power/</link>
		<comments>http://www.blog.project13.pl/index.php/coding/1338/keeping-processes-alive-using-gods-power/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 17:48:21 +0000</pubDate>
		<dc:creator>Ktoso</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[terminal heroes]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[god]]></category>
		<category><![CDATA[keep alive]]></category>
		<category><![CDATA[process watch]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.blog.project13.pl/?p=1338</guid>
		<description><![CDATA[God is a nice &#8220;framework&#8221; and daemon to watch Linux processes and restart them if necessary. As I&#8217;ve configured it today to work on an ubuntu machine here&#8217;s a quick howto: First install ruby, gem and god. apt-get install ruby, rubygems gem install god Then paste this initscript into /etc/init.d/god: got init script. Configure it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://god.rubyforge.org/" onclick="urchinTracker('/outgoing/god.rubyforge.org/?referer=');"><strong>God</strong></a> is a nice &#8220;framework&#8221; and daemon to watch Linux processes and restart them if necessary. As I&#8217;ve configured it today to work on an ubuntu machine here&#8217;s a quick howto:</p>
<p>First install ruby, gem and god.</p>
<pre>
apt-get install ruby, rubygems
gem install god
</pre>
<p>Then paste this initscript into <strong>/etc/init.d/god</strong>: <a href="http://openmonkey.com/2008/05/27/god-init-script-for-debian-ubuntu-systems/" onclick="urchinTracker('/outgoing/openmonkey.com/2008/05/27/god-init-script-for-debian-ubuntu-systems/?referer=');">got init script</a>. Configure it to use <strong>/etc/god/config.rb</strong> for example, and there do some minor setup (using ruby, yay) so we can get emails if something happenes:</p>
<div class="geshi no ruby">
<ol>
<li class="li1">
<div class="de1"><span class="kw3">require</span> <span class="kw4">File</span>.<span class="me1">dirname</span><span class="br0">&#40;</span><span class="kw2">__FILE__</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">&#39;/watches.rb&#39;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># mailer configuration</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># &#8230;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">God::Contacts::Email</span>.<span class="me1">delivery_method</span> = <span class="re3">:sendmail</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">God.<span class="me1">contact</span><span class="br0">&#40;</span><span class="re3">:email</span><span class="br0">&#41;</span> <span class="kw1">do</span> <span class="sy0">|</span>c<span class="sy0">|</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; c.<span class="me1">name</span> = <span class="st0">&#39;ktoso&#39;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; c.<span class="me1">to_email</span> = <span class="st0">&#39;konrad.malawski@llp.pl&#39;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">end</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># include all watches</span></div>
</li>
<li class="li1">
<div class="de1">God.<span class="kw3">load</span> <span class="st0">&quot;/etc/god/watches/*.rb&quot;</span></div>
</li>
</ol>
</div>
<p>And then all that&#8217;s left to implement is a watch, so create an <strong>/etc/god/watches/xvbf.rb</strong>. It&#8217;s using a nice DSL to configure how God should act when a process dies etc:</p>
<div class="geshi no ruby">
<ol>
<li class="li1">
<div class="de1">God.<span class="me1">watch</span> <span class="kw1">do</span> <span class="sy0">|</span>w<span class="sy0">|</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; w.<span class="me1">uid</span> = <span class="st0">&quot;jenkins&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; w.<span class="me1">gid</span> = <span class="st0">&quot;jenkins&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; w.<span class="me1">name</span> = <span class="st0">&quot;xvfb&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; w.<span class="me1">interval</span> = <span class="nu0">30</span>.<span class="me1">seconds</span> <span class="co1"># default</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; w.<span class="me1">env</span> = <span class="br0">&#123;</span> <span class="st0">&quot;DISPLAY&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;:99&quot;</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; w.<span class="me1">start</span> = <span class="st0">&quot;Xvfb -ac :99 &amp;&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; w.<span class="me1">start_grace</span> = <span class="nu0">10</span>.<span class="me1">seconds</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; w.<span class="me1">restart_grace</span> = <span class="nu0">10</span>.<span class="me1">seconds</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; w.<span class="me1">behavior</span><span class="br0">&#40;</span><span class="re3">:clean_pid_file</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; w.<span class="me1">start_if</span> <span class="kw1">do</span> <span class="sy0">|</span>start<span class="sy0">|</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; start.<span class="me1">condition</span><span class="br0">&#40;</span><span class="re3">:process_running</span><span class="br0">&#41;</span> <span class="kw1">do</span> <span class="sy0">|</span>c<span class="sy0">|</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; c.<span class="me1">running</span> = <span class="kw2">false</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; c.<span class="me1">notify</span> = <span class="br0">&#91;</span><span class="st0">&#39;konrad&#39;</span><span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">end</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">end</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">end</span></div>
</li>
</ol>
</div>
<p>The code is pretty much self explanatory. We watch if the process Xvfb is running, and if not, after the grace period we restart it. Optional info email could also be sent using the notify property.</p>
<p>That&#8217;s it, have fun automating your build environments!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.project13.pl/index.php/coding/1338/keeping-processes-alive-using-gods-power/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Terminal Heroes 8: Memory usage scripts</title>
		<link>http://www.blog.project13.pl/index.php/coding/442/memory-usage-scripts/</link>
		<comments>http://www.blog.project13.pl/index.php/coding/442/memory-usage-scripts/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 10:54:21 +0000</pubDate>
		<dc:creator>Ktoso</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[terminal heroes]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://www.blog.project13.pl/?p=442</guid>
		<description><![CDATA[I have a low-memory VPS running online and thus always have to worry about what uses how much memory&#8230; Of course top and my favorite htop are very good tools to check this, but sometimes I just want to get a super simple report if I&#8217;m overusing memory or not yet. The bellow scripts (most [...]]]></description>
			<content:encoded><![CDATA[<p>I have a low-memory VPS running online and thus always have to worry about what uses how much memory&#8230; Of course top and my favorite <strong>htop</strong> are very good tools to check this, but sometimes I just want to get a super simple report if I&#8217;m overusing memory or not yet. The bellow scripts (most of them was found online or hacked up from multiple scripts to fit my needs) print simple yet very readable memory usage information.</p>
<h2>memused</h2>
<div class="geshi no bash">
<div class="head">#!/bin/bash</div>
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#if [ $1 = &#39;&#39;]; then</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#    ps auxf | awk &#39;{sum=sum+$6}; END {print sum/1024}&#39;;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#else</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#    ps auxf | grep $1 | awk &#39;{sum=sum+$6}; END {print sum/1024}&#39;;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#fi</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">bean=</span>`<span class="kw2">cat</span> <span class="sy0">/</span>proc<span class="sy0">/</span>user_beancounters` <span class="re2">guar=</span>`<span class="kw3">echo</span> <span class="st0">&quot;$bean&quot;</span> <span class="sy0">|</span> <span class="kw2">grep</span> vmguar <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st0">&#39;{ print $4;}&#39;</span>` <span class="re2">burst=</span>`<span class="kw3">echo</span> <span class="st0">&quot;$bean&quot;</span> <span class="sy0">|</span> <span class="kw2">grep</span> privvm <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st0">&#39;{ print $5;}&#39;</span>` <span class="re2">priv=</span>`<span class="kw3">echo</span> <span class="st0">&quot;$bean&quot;</span> <span class="sy0">|</span> <span class="kw2">grep</span> privvm <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st0">&#39;{ print $2;}&#39;</span>`</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">let</span> <span class="re2">total=</span>guar<span class="sy0">/</span><span class="nu0">256</span> <span class="kw3">let</span> <span class="re2">used=</span>priv<span class="sy0">/</span><span class="nu0">256</span> <span class="kw3">let</span> <span class="re2">burst=</span>burst<span class="sy0">/</span><span class="nu0">256</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;VPS memory usage:&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;Used: $used MB&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;Total: $total MB&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;Burstable to: $burst MB&quot;</span></div>
</li>
</ol>
</div>
<p>Sample output:<br />
<code>VPS memory usage:<br />
Used: 296 MB<br />
Total: 256 MB<br />
Burstable to: 512 MB</code></p>
<h2>memfree</h2>
<div class="geshi no bash">
<div class="head">#!/bin/bash</div>
<ol>
<li class="li1">
<div class="de1"><span class="co0">#</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co0"># Revised 02-Feb-2007: include kernel memory (kmemsize) in &#39;used&#39; calculation</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co0"># and show percentages in output.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">BEAN=</span>`<span class="kw2">cat</span> <span class="sy0">/</span>proc<span class="sy0">/</span>user_beancounters`</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">GUAR=</span>`<span class="kw3">echo</span> <span class="st0">&quot;$BEAN&quot;</span> <span class="sy0">|</span> <span class="kw2">grep</span> vmguar <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st0">&#39;{ print $4;}&#39;</span>`</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">PRIV=</span>`<span class="kw3">echo</span> <span class="st0">&quot;$BEAN&quot;</span> <span class="sy0">|</span> <span class="kw2">grep</span> privvm <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st0">&#39;{ print $2;}&#39;</span>`</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">KMEM=</span>`<span class="kw3">echo</span> <span class="st0">&quot;$BEAN&quot;</span> <span class="sy0">|</span> <span class="kw2">grep</span> kmem <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st0">&#39;{ print $3;}&#39;</span>`</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">let</span> <span class="re2">TOTL=</span><span class="re1">$GUAR</span><span class="sy0">/</span><span class="nu0">256</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">let</span> <span class="re2">KMMB=</span><span class="re1">$KMEM</span><span class="sy0">/</span><span class="nu0">1048576</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">let</span> <span class="re2">PVMB=</span><span class="re1">$PRIV</span><span class="sy0">/</span><span class="nu0">256</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">let</span> <span class="re2">USED=</span><span class="re1">$KMMB</span>+<span class="re1">$PVMB</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">let</span> <span class="re2">FREE=</span><span class="re1">$TOTL</span>-<span class="re1">$USED</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#91;</span> <span class="st0">&quot;$FREE&quot;</span> -gt <span class="st0">&quot;0&quot;</span> <span class="br0">&#93;</span>; <span class="kw1">then</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">let</span> <span class="re2">UPER=</span><span class="re1">$USED</span><span class="sy0">*</span><span class="nu0">100</span><span class="sy0">/</span><span class="re1">$TOTL</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">let</span> <span class="re2">FPER=</span><span class="nu0">100</span>-<span class="re1">$UPER</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">let</span> <span class="re2">UPER=</span><span class="st0">&quot;100&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">let</span> <span class="re2">FPER=</span><span class="st0">&quot;0&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">fi</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;VPS Memory:&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot; Total: $TOTL mb Used: $USED mb (${UPER}%) Free: $FREE mb (${FPER}%)&quot;</span></div>
</li>
</ol>
</div>
<p>Sample output:<br />
<code>VPS Memory:<br />
Total: 256 mb Used: 302 mb (100%) Free: -46 mb (0%)</code></p>
<h2>memheld</h2>
<div class="geshi no bash">
<div class="head">#!/bin/bash</div>
<ol>
<li class="li1">
<div class="de1"><span class="kw2">grep</span> oomguarpages <span class="sy0">/</span>proc<span class="sy0">/</span>user_beancounters <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st0">&#39;{s=$2;t=$3;u=$4; {print &quot;VPS Memory Usage<span class="es0">\n</span>Current Held: &quot; s/256 &quot;MB<span class="es0">\n</span>Max Held: &quot; t/256 &quot;MB<span class="es0">\n</span>Barrier: &quot;u/256&quot;MB&quot; }}&#39;</span></div>
</li>
</ol>
</div>
<p>Sample output:<br />
<code>VPS Memory Usage<br />
Current Held: 160.832MB<br />
Max Held: 294.605MB<br />
Barrier: 256MB</code></p>
<h2>memps</h2>
<div class="geshi no bash">
<div class="head">#!/bin/bash</div>
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;ps axo pmem,pcpu,comm | sort&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">ps</span> axo pmem,pcpu,<span class="kw2">comm</span> <span class="sy0">|</span> <span class="kw2">sort</span></div>
</li>
</ol>
</div>
<p>Sample output:<br />
<code>ps axo pmem,pcpu,comm | sort<br />
0.0  0.0 script<br />
0.0  0.0 script<br />
0.1  0.0 init<br />
#...<br />
2.2  0.0 httpd<br />
4.0  0.0 mysqld<br />
7.3  0.0 httpd<br />
8.0  0.0 httpd<br />
%MEM %CPU COMMAND</code></p>
<h2>memprivmpages</h2>
<div class="geshi no bash">
<div class="head">#!/bin/bash</div>
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">beans=</span>`<span class="kw2">cat</span> <span class="sy0">/</span>proc<span class="sy0">/</span>user_beancounters <span class="sy0">|</span> <span class="kw2">grep</span> priv`</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">max=</span>`<span class="kw3">echo</span> <span class="re1">$beans</span> <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st0">&#39;{ print $4;}&#39;</span>`</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">use=</span>`<span class="kw3">echo</span> <span class="re1">$beans</span> <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st0">&#39;{ print $2;}&#39;</span>`</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">let</span> <span class="st0">&quot;per=$use*100/$max&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">let</span> <span class="st0">&quot;mb=$use/256&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">let</span> <span class="st0">&quot;mmb=$max/256&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;privvmpages usage: $mb MB ($per% of $mmb)&quot;</span></div>
</li>
</ol>
</div>
<p>Sample output:<br />
<code>privvmpages usage: 296 MB (57% of 512)</code><br />
For those wondering, yes I do have memory usage <em>above &#8220;100%&#8221; </em>in the output of some of these scripts, and it&#8217;s partially true. A VPS does usually have some guaranteed memory, and some &#8220;burstable&#8221; &#8211; so you can use more than just the guaranteed memory for some period of time. On the mashine I ran this I have 256 guaranteed and a &#8220;total&#8221; of 512MB &#8211; including the burstable memory.</p>
<p>If you like any of these, feel free to use them. I use them by creating a scripts directory and adding it to the PATH, so I can simply invoke them from anywhere.</p>
<p>PS: For more <strong>detailed memory usage information</strong> (as graphs etc), I&#8217;m using <a href="http://munin.projects.linpro.no/" onclick="urchinTracker('/outgoing/munin.projects.linpro.no/?referer=');"><strong>Munin</strong></a> and really recommend it. The graphs it draws are really nice, and it <strong>doesn&#8217;t</strong> inflict heavy load on the server, and it can <strong>monitor remote hosts</strong> if needed!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.project13.pl/index.php/coding/442/memory-usage-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQLIntegra: dbfiller &amp; wiki</title>
		<link>http://www.blog.project13.pl/index.php/null/401/mysqlintegra-dbfiller-wiki/</link>
		<comments>http://www.blog.project13.pl/index.php/null/401/mysqlintegra-dbfiller-wiki/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 23:06:21 +0000</pubDate>
		<dc:creator>Ktoso</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[null]]></category>
		<category><![CDATA[agh]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[jmeter]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://www.blog.project13.pl/?p=401</guid>
		<description><![CDATA[I passed all my exams at my first attempt and should have now some time to relax, right? Well something like that, I&#8217;m actually doing quite a lot these days. We&#8217;re on the roll with MySQL Integra. Our server &#8220;Kopiec&#8221; is somewhat online (running CentOS off course) &#8211; we&#8217;re able to start/stop if thanks to [...]]]></description>
			<content:encoded><![CDATA[<p>I passed all my exams at my first attempt and should have now some time to relax, right? Well something like that, I&#8217;m actually doing quite a lot these days. We&#8217;re on the roll with MySQL Integra.</p>
<p>Our server &#8220;<strong>Kopiec</strong>&#8221; is somewhat online (running <strong>CentOS</strong> off course) &#8211; we&#8217;re able to start/stop if thanks to a tool that&#8217;s called &#8220;remote insight&#8221;, and I&#8217;ve put 3 databases on there. <strong>MariaDB</strong>, <strong>InfiniDB</strong> and a clean <strong>MySQL</strong> instalation. We&#8217;re somewhat having problems with <strong>TokuDB</strong>, but that&#8217;s going to be our 4th database of interest. If you want to keep track of our test&#8217;s you can take a look at: <a href="http://mysqlintegra.project13.pl/" onclick="urchinTracker('/outgoing/mysqlintegra.project13.pl/?referer=');">http://mysqlintegra.project13.pl/</a>.</p>
<p>The first step in getting things tested is filling those db&#8217;s with some data, and I mean a LOT of data. So we hacked up a <em>more or less quick and dirty</em> <strong>python</strong> script called <strong>dbfiller</strong> (<a href="http://github.com/barthez/mysql.integra.dbfiller" onclick="urchinTracker('/outgoing/github.com/barthez/mysql.integra.dbfiller?referer=');"><strong>source code </strong>avaiable on github</a>) that would simulate a very simple table generation scheme (people working on shifts and checking in when they&#8217;re finished or start some activity). If you&#8217;re interested, our task is specyfied in the /doc/Opis.pdf file (sorry, only in polish). After a few days it&#8217;s up and running and we&#8217;re moving on to filling up those databases with some gigabytes of data.</p>
<p>Next we&#8217;re going to write some SQL Views/Procedures and then we&#8217;ll use <a href="http://mysqlintegra.project13.pl/index.php/Apache_JMeter" onclick="urchinTracker('/outgoing/mysqlintegra.project13.pl/index.php/Apache_JMeter?referer=');">Apache<strong> JMeter</strong></a> to run some<strong> performance</strong> benchmarks of some interesting <strong>data storage engines</strong>.</p>
<p>PS: If you&#8217;re wondering about my GWT-Crossword project &#8211; yeah, it&#8217;s still actual, and I&#8217;ll get right on it when done with some of the stuff here.<br />
PPS: Yes, an Linux powered phone AT LAST in my hands! The HTC HERO is comming to me really soon &#8211; never again shall I use a ShitOS like WindowsMobile 6.5.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.project13.pl/index.php/null/401/mysqlintegra-dbfiller-wiki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aiming Higher&#8230;</title>
		<link>http://www.blog.project13.pl/index.php/coding/363/aiming-higher/</link>
		<comments>http://www.blog.project13.pl/index.php/coding/363/aiming-higher/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 21:54:47 +0000</pubDate>
		<dc:creator>Ktoso</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[agh]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[integra]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[study]]></category>

		<guid isPermaLink="false">http://www.blog.project13.pl/?p=363</guid>
		<description><![CDATA[&#8230;is exactly what I&#8217;m currently trying to do. Thus, I&#8217;m out of Mediaframe, and got involved in a fascinating and very cool project. Under the lead of Dr Marek Długosz me and 2 of my friends will be tackling the topic of &#8220;MySQL Data Storage Engine Comprehension &#8211; with focus on Automatics use cases&#8221;. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;is exactly what I&#8217;m currently trying to do. Thus, I&#8217;m out of Mediaframe, and got involved in a fascinating and very cool project. Under the lead of Dr Marek Długosz me and 2 of my friends will be tackling the topic of <strong>&#8220;MySQL Data Storage Engine Comprehension &#8211; with focus on Automatics use cases&#8221;</strong>. It&#8217;s really interesting since MySQL is so popular, yet very little people know about the dozens of 3rd party storage engines &#8211; some of them are really interesting, just to name a few:</p>
<ul>
<li><span style="font-family: Courier,Monospaced; font-size: x-small;"><strong>TokuDB</strong> <a rel="nofollow" href="http://www.google.com/url?sa=D&amp;q=http://tokutek.com/&amp;usg=AFQjCNHysF12TbB3GldusTu-K-3nhZdweQ" onclick="urchinTracker('/outgoing/www.google.com/url?sa=D_amp_q=http_//tokutek.com/_amp_usg=AFQjCNHysF12TbB3GldusTu-K-3nhZdweQ&amp;referer=');">http://tokutek.com/</a><em></em></span></li>
<li><span style="font-family: Courier,Monospaced; font-size: x-small;"><strong>InfiniDB</strong> <a rel="nofollow" href="http://www.google.com/url?sa=D&amp;q=http://www.infinidb.org&amp;usg=AFQjCNEtOl432Euej2MhI_lbktMG0d8oVw" onclick="urchinTracker('/outgoing/www.google.com/url?sa=D_amp_q=http_//www.infinidb.org_amp_usg=AFQjCNEtOl432Euej2MhI_lbktMG0d8oVw&amp;referer=');">http://www.infinidb.org</a></span><em></em></li>
<li><span style="font-family: Courier,Monospaced; font-size: x-small;"><strong>percona</strong> </span><span style="font-family: Courier,Monospaced; font-size: x-small;"><a rel="nofollow" href="http://www.google.com/url?sa=D&amp;q=http://www.percona.com/docs/wiki/Percona-XtraDB:start&amp;usg=AFQjCNGYrLuDIAVe4j8r_CQysDAw801lOg" onclick="urchinTracker('/outgoing/www.google.com/url?sa=D_amp_q=http_//www.percona.com/docs/wiki/Percona-XtraDB_start_amp_usg=AFQjCNGYrLuDIAVe4j8r_CQysDAw801lOg&amp;referer=');">http://www.percona.com/docs/wiki/Percona-XtraDB:start</a></span><span style="font-family: Courier,Monospaced; font-size: x-small;"><em></em> </span></li>
<li><span style="font-family: Courier,Monospaced; font-size: x-small;"><strong>MariaDB</strong> <a rel="nofollow" href="http://www.google.com/url?sa=D&amp;q=http://askmonty.org/wiki/index.php/Maria&amp;usg=AFQjCNHItj3nVliSHeoWXcOGI9ODkrC7iQ" onclick="urchinTracker('/outgoing/www.google.com/url?sa=D_amp_q=http_//askmonty.org/wiki/index.php/Maria_amp_usg=AFQjCNHItj3nVliSHeoWXcOGI9ODkrC7iQ&amp;referer=');">http://askmonty.org/wiki/index.php/Maria</a> <em>(Maria, PBXT, FederatedX) </em></span></li>
<li><span style="font-family: Courier,Monospaced; font-size: x-small;"><strong>IBMDB2I </strong></span><span style="font-family: Courier,Monospaced; font-size: x-small;"><a rel="nofollow" href="http://www.google.com/url?sa=D&amp;q=http://dev.mysql.com/doc/refman/5.1/en/se-db2.html&amp;usg=AFQjCNEI0fPrDd9d5U8azYUe4o_KcsauLQ" onclick="urchinTracker('/outgoing/www.google.com/url?sa=D_amp_q=http_//dev.mysql.com/doc/refman/5.1/en/se-db2.html_amp_usg=AFQjCNEI0fPrDd9d5U8azYUe4o_KcsauLQ&amp;referer=');">http://dev.mysql.com/doc/refman/5.1/en/se-db2.html</a></span></li>
<li><span style="font-family: Courier,Monospaced; font-size: x-small;">&#8230;ane some more&#8230;?<br />
</span></li>
</ul>
<p>A simple comprehension will be the first thing we&#8217;ll do for this project&#8230; Later on we&#8217;ll do some simulated &#8220;real life&#8221; tests using <strong>JMeter</strong>. It&#8217;s possible that we&#8217;ll write some app based on this database later on &#8211; but that&#8217;s somehow far off at the moment. That said, I&#8217;m really happy to be involved in an interesting and <strong>open</strong> (it&#8217;s all open source &amp; free software after all) topic.</p>
<p>Tomorrow I&#8217;m going to the university to setup our very own (awesome ;-)) <span style="font-family: Courier,Monospaced;">HP ProLiant DL380</span> server. It has 6 hard drives, thus it should be very interesting to run HEAVY database LOAD tests &#8211; can&#8217;t wait. We&#8217;ll install CentOS 5.4 and think about it&#8217;s future then&#8230;<br />
<span style="text-align:center"><br />
<a href="/wp-content/uploads/2009/12/kretos.png"><img class="alignnone" title="server" src="/wp-content/uploads/2009/12/kretos-300x151.png" alt="server" width="300" height="151" /></a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.project13.pl/index.php/coding/363/aiming-higher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

