Hi Joe!
OK, I added a section to the wiki describing getting around the file
descriptor limits:
http://drizzle.org/wiki/Automation_Documentation#sysbench_command
Also, keep in mind that for your local laptop, you can set the
concurrency levels and iterations to a much smaller number. The
defaults in the supplied sysbench configuration files are meant for
beefy servers (testing/staging machines). :)
Cheers, and thanks for persevering through an admittedly difficult setup
process! :)
Jay
Joe Daly wrote:
Jay,
Thank you for the updated instructions, I got the benchmark to run with
minimal pain. I got the following results:
mysql> SELECT r.version, c.name, i.concurrency, AVG(i.tps) as TPS FROM
sysbench_config c NATURAL JOIN sysbench_runs r NATURAL JOIN
sysbench_run_iterations i WHERE r.server = 'drizzled' AND r.version =
'trunk-1039' GROUP BY r.version, c.name, i.concurrency;
+------------+------------------------+-------------+------------+
| version | name | concurrency | TPS |
+------------+------------------------+-------------+------------+
| trunk-1039 | innodb_1000K_readonly | 2 | 456.845000 |
| trunk-1039 | innodb_1000K_readonly | 4 | 679.435000 |
| trunk-1039 | innodb_1000K_readonly | 8 | 730.975000 |
| trunk-1039 | innodb_1000K_readonly | 16 | 747.365000 |
| trunk-1039 | innodb_1000K_readonly | 32 | 722.605000 |
| trunk-1039 | innodb_1000K_readonly | 64 | 696.020000 |
| trunk-1039 | innodb_1000K_readonly | 128 | 683.105000 |
| trunk-1039 | innodb_1000K_readonly | 256 | 661.630000 |
| trunk-1039 | innodb_1000K_readonly | 512 | 586.905000 |
| trunk-1039 | innodb_1000K_readwrite | 2 | 305.745000 |
| trunk-1039 | innodb_1000K_readwrite | 4 | 513.070000 |
| trunk-1039 | innodb_1000K_readwrite | 8 | 601.260000 |
| trunk-1039 | innodb_1000K_readwrite | 16 | 577.165000 |
| trunk-1039 | innodb_1000K_readwrite | 32 | 564.715000 |
| trunk-1039 | innodb_1000K_readwrite | 64 | 554.000000 |
| trunk-1039 | innodb_1000K_readwrite | 128 | 528.050000 |
| trunk-1039 | innodb_1000K_readwrite | 256 | 488.005000 |
| trunk-1039 | innodb_1000K_readwrite | 512 | 451.735000 |
+------------+------------------------+-------------+------------+
This was on:
x86_64 opensuse 11.1
single cpu (Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz)
4GB RAM
I couldnt run larger then a concurrency of 1024 I got the following error
which looks like a ulimit problem I need fix on my machine, although max
open files I upped to 20K for the test.
2009-05-27 16:37:29,647 INFO: Running sysbench config innodb_1000K_readonly
for concurrency at 2048 - iteration 0.
/home/jdaly/drizzle/repos/trunk-sysbench-r1000/drizzled/drizzled: Forcing
close of thread 1983 user: ''
Traceback (most recent call last):
File "/usr/lib64/python2.6/logging/__init__.py", line 754, in emit
msg = self.format(record)
File "/usr/lib64/python2.6/logging/__init__.py", line 637, in format
return fmt.format(record)
File "/usr/lib64/python2.6/logging/__init__.py", line 425, in format
record.message = record.getMessage()
File "/usr/lib64/python2.6/logging/__init__.py", line 295, in getMessage
msg = msg % self.args
TypeError: %d format: a number is required, not tuple
It may be worthwhile to run the benchmarks on a Solaris host it may expose a
call somewhere that is platform inefficient in a new library.
--Joe Daly
On Fri, May 15, 2009 at 8:47 PM, Jay Pipes <[email protected]> wrote:
Joe Daly wrote:
Hi Jay,
Im trying to get up to speed, on the development here so excuse my silly
question.
Hi! Sorry for th delayed reply...
What were these benchmarks against?
These benchmarks are against each BZR revision of Drizzle on one of our
benchmarking machines (16-core x86 box).
You can read more about our benchmarks on this thread:
https://lists.launchpad.net/drizzle-discuss/msg03687.html
Cheers!
Jay
thanks
--Joe Daly
On Wed, May 13, 2009 at 9:21 AM, Jay Pipes <[email protected]> wrote:
Hi all!
Sorry for the delay in getting the data for analysis of our benchmark
revision history! Attached is a tarball containing a single SQL script
to
populate a database with our data for revisions 980 through 1008.
To setup, do:
$> tar -xzf drizzle_stats.tar.gz
$> mysqladmin --user=root --password=$yourpass create drizzle_stats
$> mysql --user=root --password drizzle_stats < drizzle_stats.sql
<enter your password>
Here are the sysbench tables:
mysql> desc sysbench_runs;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| run_id | int(11) | NO | PRI | NULL | auto_increment |
| config_id | int(11) | NO | | NULL | |
| server | varchar(20) | NO | | NULL | |
| version | varchar(50) | YES | | NULL | |
| run_date | datetime | NO | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
mysql> desc sysbench_config;
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| config_id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
mysql> desc sysbench_run_iterations;
+---------------------------+---------------+------+-----+---------+
| Field | Type | Null | Key | Default |
+---------------------------+---------------+------+-----+---------+
| run_id | int(11) | NO | PRI | NULL |
| concurrency | int(11) | NO | PRI | NULL |
| iteration | int(11) | NO | PRI | NULL |
| tps | decimal(13,2) | NO | | NULL |
| read_write_req_per_second | decimal(13,2) | NO | | NULL |
| deadlocks_per_second | decimal(5,2) | NO | | NULL |
| min_req_latency_ms | decimal(10,2) | NO | | NULL |
| avg_req_latency_ms | decimal(10,2) | NO | | NULL |
| max_req_latency_ms | decimal(10,2) | NO | | NULL |
| 95p_req_latency_ms | decimal(10,2) | NO | | NULL |
+---------------------------+---------------+------+-----+---------+
10 rows in set (0.00 sec)
To see a view of the data which I've been showing on this list, I use
this:
mysql> SELECT r.version, c.name, i.concurrency, AVG(i.tps) as TPS
-> FROM sysbench_config c
-> NATURAL JOIN sysbench_runs r
-> NATURAL JOIN sysbench_run_iterations i
-> WHERE r.server = 'drizzled'
-> GROUP BY r.version, c.name, i.concurrency;
which shows you data in this format:
*************************** 1. row ***************************
version: fix-bitset-regression-1009
name: innodb_1000K_readonly
concurrency: 2
TPS: 1080.706667
Have fun. :)
Cheers,
Jay
_______________________________________________
Mailing list:
https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
<https://launchpad.net/%7Edrizzle-discuss>
Post to : [email protected]
Unsubscribe :
https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
<https://launchpad.net/%7Edrizzle-discuss>
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list:
https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
Post to : [email protected]
Unsubscribe :
https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp