Re: rthreads vs pthreads performance test

2010-04-16 Thread Jung
yeap. mysql compiled with libpthread.so.10.0(maybe 4.5 version)
so. i did recompiled and just move libpthread.so.x.y -> librthread.so.x.y

here result. (super-smack error and sysbench slow performance. hackbench
error)

* super-smack

# ./super-smack -d mysql select-key.smack 10 100
Query Barrel Report for client smacker1
connect: max=4ms  min=0ms avg= 2ms from 10 clients
Query_type  num_queries max_timemin_timeq_per_s
select_index20000   0   9448.89

# ./super-smack -d mysql select-key.smack 10 1000
Error running query select * from http_auth where username =
'kwscxbmlsfgq13920':MySQL server has gone away
super-smack: aborting on failed query
Error running query select * from http_auth where username =
'ebxcipdukaud8400':MySQL server has gone away
super-smack: aborting on failed query
super-smack: Could not lock the pipe semaphore 1048577 errno = 22,
error is Invalid argument
super-smack: Could not lock the pipe semaphore 1048577 errno = 22,
error is Invalid argument
super-smack: Could not lock the pipe semaphore 1048577 errno = 22,
error is Invalid argument
super-smack: Could not lock the pipe semaphore 1048577 errno = 22,
error is Invalid argument
super-smack: Could not lock the pipe semaphore 1048577 errno = 22,
error is Invalid argument
super-smack: Could not lock the pipe semaphore 1048577 errno = 22,
error is Invalid argument
super-smack: Could not lock the pipe semaphore 1048577 errno = 22,
error is Invalid argument
Query Barrel Report for client smacker1
connect: max=0ms  min=-1ms avg= 6ms from 1 clients
Query_type  num_queries max_timemin_timeq_per_s
select_index20000   0   711.86


* sysbench (threads test is very slow perfomance.)

# sysbench --num-threads=1024 --test=threads --thread-yields=100
--thread-locks=2 run
sysbench v0.4.8:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1024

Doing thread subsystem performance test
Thread yields per test: 100 Locks used: 2
Threads started!
Done.


Test execution summary:
   total time:  63.4129s
   total number of events:  1
   total time taken by event execution: 64381.3383
   per-request statistics:
min:0.0005s
avg:6.4381s
max:63.3723s
approx.  95 percentile: 40.1140s

Threads fairness:
   events (avg/stddev):   9.7656/95.47
   execution time (avg/stddev):   62.8724/0.38


* hackbench (Segmentation Fault) -
http://people.redhat.com/mingo/cfs-scheduler/tools/hackbench.c

# gdb hackbench
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd4.7"...
(gdb) set args 2 thread 2
(gdb) r
Starting program: /tmp/hackbench 2 thread 2
Running with 2*40 (== 80) tasks.

Program received signal SIGSEGV, Segmentation fault.
0x04fee097 in _rthread_free_stack (stack=0x0) at
/usr/src/lib/librthread/rthread_stack.c:85
85  munmap(stack->base, stack->len);
(gdb) bt
#0  0x04fee097 in _rthread_free_stack (stack=0x0) at
/usr/src/lib/librthread/rthread_stack.c:85
#1  0x04fed8a0 in _rthread_reaper () at /usr/src/lib/librthread/rthread.c:203
#2  0x04fedac2 in pthread_create (threadp=0x31fbf321, attr=0xcfbe5a38,
start_routine=0x31fbf321, arg=0x31fbf321) at
/usr/src/lib/librthread/rthread.c:303
#3  0x1c000f44 in create_worker (ctx=0x850a60c0, func=0x1c000de0
) at hackbench.c:160
#4  0x1c00106c in group (pth=0x87fc8c00, num_fds=20, ready_out=7,
wakefd=8) at hackbench.c:210
#5  0x1c001319 in main (argc=0, argv=0xcfbe5b5c) at hackbench.c:280

(gdb) info reg
eax0x31fbf321   838595361
ecx0x3c0032e0   1006645984
edx0x24feed10   620686608
ebx0x24fec29c   620675740
esp0xcfbe59b8   0xcfbe59b8
ebp0xcfbe59c8   0xcfbe59c8
esi0x0  0
edi0x24feb1dc   620671452
eip0x4fee0970x4fee097
eflags 0x10296  66198
cs 0x2b 43
ss 0x33 51
ds 0x33 51
es 0x33 51
fs 0x33 51
gs 0x33 51





2010/4/17 Chris Cappuccio :
> You don't need to recompile mysql or other tools.  Just move the librthreads
shared object library (librthreads.so.x.y) in place of libpthreads.so.x.y.
 It's designed to work this way.
>
> Jung [moor...@gmail.com] wrote:
>> oops.
>> sorry. i did not re-compile mysql and other tool. (pthreads vs
>> rthreads result are same)
>> so, previous e-mail's performance test is fail.
>> i'll update test tools and i'll send t

Re: rthreads vs pthreads performance test

2010-04-16 Thread Chris Cappuccio
You don't need to recompile mysql or other tools.  Just move the librthreads 
shared object library (librthreads.so.x.y) in place of libpthreads.so.x.y.  
It's designed to work this way.

Jung [moor...@gmail.com] wrote:
> oops.
> sorry. i did not re-compile mysql and other tool. (pthreads vs
> rthreads result are same)
> so, previous e-mail's performance test is fail.
> i'll update test tools and i'll send that results again.
> 
> thanks.



Re: rthreads vs pthreads performance test

2010-04-13 Thread Jung
oops.
sorry. i did not re-compile mysql and other tool. (pthreads vs
rthreads result are same)
so, previous e-mail's performance test is fail.
i'll update test tools and i'll send that results again.

thanks.


2010/4/13 Ted Unangst :
> On Tue, Apr 13, 2010 at 4:33 AM, Jung  wrote:
>> rthreads vs pthreads performance test
>>
>> at today, i did test recent rthreads performance.
>> previous e-mail http://marc.info/?l=openbsd-tech&m=120634514721997
>> rthreads performance was poor. but recent rthreads performance good like
below.
>>
>> some test result on Core 2 Duo + 4.7-Current(GENERIC.MP)+RTHREADS option
>
> It's unfortunately still early to be testing performance, but thanks
> for the effort.  If rthreads is really performing the same as
> pthreads, that's quite good for now.



Re: rthreads vs pthreads performance test

2010-04-13 Thread Ted Unangst
On Tue, Apr 13, 2010 at 4:33 AM, Jung  wrote:
> rthreads vs pthreads performance test
>
> at today, i did test recent rthreads performance.
> previous e-mail http://marc.info/?l=openbsd-tech&m=120634514721997
> rthreads performance was poor. but recent rthreads performance good like 
> below.
>
> some test result on Core 2 Duo + 4.7-Current(GENERIC.MP)+RTHREADS option

It's unfortunately still early to be testing performance, but thanks
for the effort.  If rthreads is really performing the same as
pthreads, that's quite good for now.



rthreads vs pthreads performance test

2010-04-13 Thread Jung
rthreads vs pthreads performance test

at today, i did test recent rthreads performance.
previous e-mail http://marc.info/?l=openbsd-tech&m=120634514721997
rthreads performance was poor. but recent rthreads performance good like below.

some test result on Core 2 Duo + 4.7-Current(GENERIC.MP)+RTHREADS option

* super-smack test

- rthreads)

# ./super-smack -d mysql select-key.smack 10 1
Query Barrel Report for client smacker1
connect: max=2ms  min=0ms avg= 1ms from 10 clients
Query_type  num_queries max_timemin_timeq_per_s
select_index20  0   0   13294.37


# ./super-smack -d mysql select-key.smack 20 1
Query Barrel Report for client smacker1
connect: max=5ms  min=0ms avg= 3ms from 20 clients
Query_type  num_queries max_timemin_timeq_per_s
select_index40  3   0   13150.13


# ./super-smack -d mysql update-select.smack 10 1
Query Barrel Report for client smacker
connect: max=2ms  min=0ms avg= 1ms from 10 clients
Query_type  num_queries max_timemin_timeq_per_s
select_index10  0   0   5856.31
update_index10  1   0   5856.31



# ./super-smack -d mysql update-select.smack 20 1
Query Barrel Report for client smacker
connect: max=6ms  min=0ms avg= 4ms from 20 clients
Query_type  num_queries max_timemin_timeq_per_s
select_index20  1   0   5880.56
update_index20  1   0   5880.56



- pthreads)

# ./super-smack -d mysql select-key.smack 10 1
Query Barrel Report for client smacker1
connect: max=2ms  min=0ms avg= 1ms from 10 clients
Query_type  num_queries max_timemin_timeq_per_s
select_index20  0   0   13492.67


# ./super-smack -d mysql select-key.smack 20 1
Query Barrel Report for client smacker1
connect: max=5ms  min=0ms avg= 3ms from 20 clients
Query_type  num_queries max_timemin_timeq_per_s
select_index40  4   0   12328.78



# ./super-smack -d mysql update-select.smack 10 1
Query Barrel Report for client smacker
connect: max=3ms  min=0ms avg= 1ms from 10 clients
Query_type  num_queries max_timemin_timeq_per_s
select_index10  0   0   5887.26
update_index10  0   0   5887.26

# ./super-smack -d mysql update-select.smack 20 1
Query Barrel Report for client smacker
connect: max=5ms  min=0ms avg= 3ms from 20 clients
Query_type  num_queries max_timemin_timeq_per_s
select_index20  1   0   5769.90
update_index20  2   0   5769.90

---
* sysbench test

sysbench --test=oltp --num-threads=2 --mysql-user=root
--mysql-socket=/var/run/mysql/mysql.sock --max-time=60
--max-requests=0 --oltp-read-only=on run

rthreads) - client threads(Transactions/sec)
2  (412.58 per sec.)
5  (419.72 per sec.)
10 (421.68 per sec.)
15 (419.20 per sec.)
20 (412.36 per sec.)

pthreads) - client threads(Transactions/sec)
2  (410.84 per sec.)
5  (408.39 per sec.)
10 (420.40 per sec.)
15 (416.54 per sec.)
20 (413.13 per sec.)

---
- Jung