You can alter the "affinity," whatever<div>that exactly means, but the scheduler</div><div>apparently does not permit assigning</div><div>a CPU to a task, useful as that sometimes</div><div>seems like it would be.  In fact, one's control</div>
<div>over how CPU's are assigned seems </div><div>rather limited.</div><div><br></div><div>"Nice"  - man nice - has long existed,</div><div>starting in Unix, to allow one to alter</div><div>process priority.  If I remember </div>
<div>correctly - if not, that's what man pages</div><div>are for.... - a positive integer, up to 19,</div><div>lowers priority, contrary to one's intuition,</div><div>and can be done by an ordinary user.</div><div>
I believe you have to be root to increase</div><div>priority, a.k.a. "niceness."</div><div><br></div><div>Here again, the scheduler has the last</div><div>word, but it's worth a try.</div><div><br></div><div>
   -- Bob</div><div><br></div><div><br><div class="gmail_quote">On Mon, Sep 19, 2011 at 4:45 PM, Michael Mol <span dir="ltr"><<a href="mailto:mikemol@gmail.com">mikemol@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
On Mon, Sep 19, 2011 at 4:36 PM,  <<a href="mailto:scott.tanner@comcast.net">scott.tanner@comcast.net</a>> wrote:<br>
> Just thought I'd share an interesting discovery with the group.  This may be<br>
> common knowledge to others, but it was a bit of a surprise to me.   We're in<br>
> the process of upgrading the servers which run our primary MySQL DB's<br>
> (version 5.1):<br>
><br>
>   Old Server                    New Server<br>
> ---------------------------------------------------------<br>
>    Sun X4200                 Silicon Mechanics R516<br>
>     4 x 2.4GHz                 12 x 3.2GHz (+ HT = 24 threads)<br>
>     16GB Ram                  144GB Ram<br>
>   12 disks - SCSI             24 disks - SAS & SSD<br>
><br>
><br>
> After getting the new servers setup and our databases copied over, I ran<br>
> sysbench to get some performance benchmarks of the new servers.  Surprise  -<br>
> performance was nearly identical or slightly worse.  I disabled HT, still no<br>
> real improvement.   After a bit of searching on the web, I found the older<br>
> versions of MySQL had issues with multi-threading beyond 8 threads.  I setup<br>
> an init script to hot-remove CPU's via sysfs, and voila - performance<br>
> increased substantially.   There are patches from Yahoo, Google, and Percona<br>
> to correct this issue on the older MySQL versions, and the newer versions<br>
> are supposedly better at handling 32+ threads.<br>
<br>
Very interesting.<br>
<br>
A thought...Rather than removing your extra cores, perhaps there's<br>
some way to set CPU affinity, so MySQL is only allowed to use eight of<br>
them? That way, the other processes on your system can stay out of the<br>
way of your database server, and spend cycles on other cores.<br>
<br>
If you get affinities working, you might also consider running<br>
multiple instances of mysqld, putting different databases on different<br>
sets of cores.<br>
<br>
<br>
--<br>
:wq<br>
<br>
--<br>
This message has been scanned for viruses and<br>
dangerous content by MailScanner, and is<br>
believed to be clean.<br>
<br>
_______________________________________________<br>
grlug mailing list<br>
<a href="mailto:grlug@grlug.org">grlug@grlug.org</a><br>
<a href="http://shinobu.grlug.org/cgi-bin/mailman/listinfo/grlug" target="_blank">http://shinobu.grlug.org/cgi-bin/mailman/listinfo/grlug</a></blockquote></div><br></div>
<br />-- 
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href="http://www.mailscanner.info/"><b>MailScanner</b></a>, and is
<br />believed to be clean.