Solaris 10 Admin & MySQL

I have a new Solaris 10 X86 server with a 2.8 GHz quad core processor and 10 GB memory that is having performance problems running MySQL.  Java JDBC queries are slower than the old legacy Solaris 9 server.  The new server CPU does not drop below 99% idle so this appears from what I have read a problem with resources.  The disks are 15K RPM SAS drives that do not appear accessed much at all.  In Solaris 9, I would adjust kernel resources in /etc/system, however, this appears to have changed in Solaris 10 to utilize projects?  It looks like some OS resource is holding back MySQL.

Has anyone tuned Solaris 10 for MySQL using the new method and might have a guide to go by.  I would imagine kernel entries should match the my.cnf INNODB settings to get full performance from the OS.  Any help or suggestings would be appreciated.
djpriceAtlAsked:
Who is Participating?
 
djpriceAtlAuthor Commented:
Thanks, I saw that one and followed some of it.  I did not (never have) had to compile and build MySQL from source on any Solaris.  Maybe this is needed for Solaris 10 but I downloaded and installed the tar bin's for Solaris 10 X86 64-bit.  I would thinnk this is build optimized at least somewhat.

One thing that link did not get into, which is where I am thinking the problem may be because of the 99% idle thing, is the changes in Solaris 10 later version that replaced /etc/system with "projects".  All shared memory and semaphore settings now go in there but it is turning out to be a bit hard to follow on how this works.  It looks like system resourse are not allocated to allow for MySQL to run.   A 'show innodb status' gives me the following snippet:

----------
SEMAPHORES
----------
OS WAIT ARRAY INFO: reservation count 3459, signal count 3452
Mutex spin waits 0, rounds 50040, OS waits 1315
RW-shared spins 2688, OS waits 1311; RW-excl spins 1022, OS waits 795
------------
------------
TRANSACTIONS
------------
Trx id counter 1 891841813
Purge done for trx's n:o < 1 891840720 undo n:o < 0 0
History list length 396
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0 0, not started, OS thread id 13
MySQL thread id 366, query id 288810 localhost root
show innodb status
---TRANSACTION 1 891841811, COMMITTED IN MEMORY, OS thread id 12 committing, thr
ead declared inside InnoDB 499
mysql tables in use 1, locked 1
, undo log entries 1
MySQL thread id 365, query id 288809 localhost 127.0.0.1 root freeing items
UPDATE patient SET rp_120daybal = -226.0 ,rp_90day_bal = 0.0 ,rp_curr_bal = 0.0
,rp_60day_bal = 0.0 ,rp_total_bal = -226.0  WHERE pt_number = 425302
--------
FILE I/O
--------
I/O thread 0 state: waiting for i/o request (insert buffer thread)
I/O thread 1 state: waiting for i/o request (log thread)
I/O thread 2 state: waiting for i/o request (read thread)
I/O thread 3 state: waiting for i/o request (write thread)
Pending normal aio reads: 0, aio writes: 0,
 ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 1; buffer pool: 0
53023 OS file reads, 175482 OS file writes, 164316 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 44.16 writes/s, 43.47 fsyncs/s
-------------------------------------
INSERT BUFFER AND ADAPTIVE HASH INDEX
-------------------------------------
Ibuf: size 1, free list len 294, seg size 296,
29480 inserts, 29480 merged recs, 1194 merges
Hash table size 4425293, node heap has 2752 buffer(s)
121.63 hash searches/s, 184.73 non-hash searches/s
---
LOG
---
Log sequence number 87 532965509
Log flushed up to   87 532964692
Last checkpoint at  87 495181533
1 pending log writes, 0 pending chkp writes
162934 log i/o's done, 43.37 log i/o's/second
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 2372697080; in additional pool allocated 12993536
Dictionary memory allocated 748456
Buffer pool size   131072
Free buffers       50332
Database pages     77988
Modified db pages  7691
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages read 76095, created 1893, written 47944
0.00 reads/s, 0.00 creates/s, 1.05 writes/s
Buffer pool hit rate 1000 / 1000
--------------
ROW OPERATIONS
--------------
1 queries inside InnoDB, 0 queries in queue
1 read views open inside InnoDB
Main thread id 10, state: sleeping
Number of rows inserted 216, updated 264470, deleted 1, read 3477515
0.00 inserts/s, 43.21 updates/s, 0.00 deletes/s, 86.42 reads/s

which seems to me that I have some semaphore limit that is holding back MySQL?  I have not found any Solaris 10 tuning guides for MySQL for the new way of doing this with "projects". Sar/top shows %iowait never leaving 0.0% - this should go way up during heavy queries.  
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.