Tuesday, July 10, 2007

Initial Test Result for Profile.acc

I test updates, queries and their mixed cases. It works well.
I haven't measure the performance impact yet. I think the influence of Aspect C should be small since it just adds function calls. If the inline is supported when compiling, the cost should be minimum.

Test 1:
./sysbench --test=oltp --oltp-table-size=1000000 --mysql-table-engine=pbxt
--mysql-engine-trx=yes --mysql-user=root --mysql-socket=/tmp/mysql.sock
prepare --mysql-db=test

SysBench Result 1:
sysbench v0.4.8: multi-threaded system evaluation benchmark

No DB drivers specified, using mysql
Creating table 'sbtest'...
Creating 1000000 records in table 'sbtest'...

Profile Result 1:
System_call Total_Execution_Time Total_Call_Times
pread 719098 24312
pwrite 11799545 1026503
malloc 732 453
calloc 0 0
realloc 0 0
pthread_mutex_lock 2461 497
pthread_rwlock_rdlock 18 37
pthread_rwlock_wrlock 17 72

Total Execution Time represents the sum of execution time (in micro
seconds), and the Total_Call_Times means how many times this function is
called.

Test 2:
./sysbench --test=oltp --oltp-table-size=1000000 --init-rng=on
--mysql-engine-trx=yes --oltp-table-name=sbtest --oltp-test-mode=complex
--oltp-point-selects=1 --oltp-simple-ranges=0 --oltp-sum-ranges=0
--oltp-order-ranges=0 --oltp-distinct-ranges=0 --oltp-skip-trx=on
--oltp-read-only=on --max-requests=0 --num-threads=4
--oltp-dist-type=special --init-rng=on --mysql-db=sbtest --max-time=60
--mysql-user=root --mysql-socket=/tmp/mysql.sock run --mysql-db=test

SysBench Result2:
sysbench v0.4.8: multi-threaded system evaluation benchmark
No DB drivers specified, using mysql
Running the test with following options:
Number of threads: 4
Initializing random number generator from timer.
Doing OLTP test.
Running mixed OLTP test
Doing read-only test
Using Special distribution (12 iterations, 1 pct of values are returned
in 75 pct cases)
Skipping BEGIN/COMMIT
Using auto_inc on the id column
Threads started!
Time limit exceeded, exiting...
(last message repeated 3 times)
Done.

OLTP test statistics:
queries performed:
read: 180493
write: 0
other: 0
total: 180493
transactions: 180493 (3008.18 per sec.)
deadlocks: 0 (0.00 per sec.)
read/write requests: 180493 (3008.18 per sec.)
other operations: 0 (0.00 per sec.)

Test execution summary:
total time: 60.0008s
total number of events: 180493
total time taken by event execution: 239.7300
per-request statistics:
min: 0.0003s
avg: 0.0013s
max: 0.0119s
approx. 95 percentile: 0.0018s
Threads fairness:
events (avg/stddev): 45123.2500/70.89
execution time (avg/stddev): 59.9325/0.00

Profile Result 2:
System_call Total_Execution_Time Total_Call_Times
pread 404260 56359
pwrite 0 0
malloc 34736 50182
calloc 0 0
realloc 0 0
pthread_mutex_lock 71303 140555
pthread_rwlock_rdlock 6 24
pthread_rwlock_wrlock 15 42

Test 3:
./sysbench --test=oltp --oltp-table-size=1000000 --oltp-read-only=off
--oltp-test-mode=complex --num-threads=2 --mysql-engine-trx=yes
--init-rng=on --oltp-point-selects=0 --oltp-simple-ranges=0
--oltp-sum-ranges=0 --oltp-order-ranges=0 --oltp-distinct-ranges=0
--mysql-user=root --mysql-socket=/tmp/mysql.sock --oltp-table-name=sbtest
--oltp-dist-type=special --max-requests=50000 run --mysql-db=test

SysBench Result 3:
sysbench v0.4.8: multi-threaded system evaluation benchmark

No DB drivers specified, using mysql
WARNING: Preparing of "BEGIN" is unsupported, using emulation
(last message repeated 1 times)
Running the test with following options:
Number of threads: 2
Initializing random number generator from timer.

Doing OLTP test.
Running mixed OLTP test
Using Special distribution (12 iterations, 1 pct of values are returned
in 75 pct cases)
Using "BEGIN" for starting transactions
Using auto_inc on the id column
Maximum number of requests for OLTP test is limited to 50000
Threads started!
Done.

OLTP test statistics:
queries performed:
read: 0
write: 250056
other: 100027
total: 350083
transactions: 50000 (491.55 per sec.)
deadlocks: 27 (0.27 per sec.)
read/write requests: 250056 (2458.31 per sec.)
other operations: 100027 (983.37 per sec.)

Test execution summary:
total time: 101.7185s
total number of events: 50000
total time taken by event execution: 203.2377
per-request statistics:
min: 0.0017s
avg: 0.0041s
max: 5.0590s
approx. 95 percentile: 0.0042s

Threads fairness:
events (avg/stddev): 25000.0000/57.00
execution time (avg/stddev): 101.6188/0.00

Profile Result 3:
System_call Total_Execution_Time Total_Call_Times
pread 8963222 129261
pwrite 42618355 2338101
malloc 26740 44017
calloc 0 0
realloc 0 0
pthread_mutex_lock 50763 121142
pthread_rwlock_rdlock 120 19
pthread_rwlock_wrlock 145 33

No comments: