Commit graph

168 commits

Author SHA1 Message Date
unknown
927c7b262b Adding a --use-threads options which I believe will allow it to be ported to windows.
client/Makefile.am:
  Adding pthread flag
client/client_priv.h:
  New option to use theads.
client/mysqlslap.c:
  Adding support to optionally use threads (which should allow it to work with windows)
2006-01-11 21:30:52 -08:00
unknown
a74472c849 Fix memory problem: Both the allocation and pointer arithmetics on the
head_sptr array was wrong.
2006-01-03 11:09:18 +01:00
unknown
d68fdc0e84 Fix compile failure, reapply changeset "05/12/29 15:37:36 sergefp@mysql.com"
apparently lost in merge.


client/mysqlslap.c:
  Fix compile failure.
2006-01-02 13:19:13 +01:00
unknown
ad00c02079 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/brian/mysql/slap-5.1


client/mysqlslap.c:
  Merge of comments change
2006-01-01 20:27:24 -08:00
unknown
9b9af86ac0 Cleaned up memory allocation to be a little more staight forward (though I suspect someone will hate my sizeof() increment).
Nothing really to see here. Updated comments in code.

More comments are probably needed, but isn't that always the case?


client/mysqlslap.c:
  Updated docs. 
  Removed complicated malloc calls with a single malloc. Cleaned up the way statements were be free'd (aka its now a function instead of a bunch of copy/paste).
  Removed older and not so accurate timediff() call. Cleaned up call to parse out concurrency.
mysql-test/t/mysqlslap.test:
  Edited the tests to make sure we check default concurrency (we can't test concurrency normally since in theory the results could be random).
  You will noticed that the result was not changed.
2006-01-01 20:08:45 -08:00
unknown
dcab4ab1ad Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/brian/mysql/slap-5.1


client/mysqlslap.c:
  Resolve conflict
2006-01-01 16:47:03 -08:00
unknown
5f209e9036 Now uses a single pass testing loop. Dual pass made no sense.
Now does averaging when running iterations. 
Realligned a bunch of code and continued to remove global variables.
Added CSV output along with printable.
Structures are now provided for print options so adding XML, HTML, ... should now be trivial.


client/client_priv.h:
  Simplified options
client/mysqlslap.c:
  Giant cleanup.
  We now do single pass testing, not dual pass. The dual pass made no sense really especially when you started adding in more stats.
  Modified the testing loop so that it should not be possible to have both a fork() and thread version (which will make it easier to port to windows should someone want to).
mysql-test/r/mysqlslap.result:
  New results
mysql-test/t/mysqlslap.test:
  Adjusting for new options, and removed "archive" from the tests just in case archive is not compiled.
2006-01-01 16:40:02 -08:00
unknown
a3e0141898 Don't use C++ style (//) comments in C source (breaks compilation on aix52). 2006-01-02 01:35:30 +01:00
unknown
79175e861c after pull fixes
client/mysqlslap.c:
  compilation errors
include/plugin.h:
  comments corrected
sql/sql_plugin.cc:
  LEX_STRING instead of char*,
  MYSQL_HANDLERTON_INTERFACE_VERSION instead of 0x0000
sql/sql_plugin.h:
  LEX_STRING instead of char*
sql/sql_show.cc:
  LEX_STRING instead of char*.
  STRING_WITH_LEN works only on string literals, not on expressions
2005-12-29 21:29:02 +01:00
unknown
a23e2eefd2 Fix the compile failure introduced by the previous cset. 2005-12-29 15:37:36 +03:00
unknown
6a8cc394cf Added option --lock-directory so that you can now syncronize several mysqlslap processes across several machines. Not perfect yet.
Added --slave option if you are trying to syncronize around one server using the lock-directory option plus NFS. 

Added options to allow you to run several concurrency runs in one call. aka --concurrency="1, 8, 64, 128"

Time collection is now done in a finer grain manner, and is linked to the sync call (doesn't count the cost of the blocked processes that are setup to run).



client/Makefile.am:
  Adding my_lock compile bits so we can have locking.
client/client_priv.h:
  New options for lock directory, number of query, number of rows and slave status.
client/mysqlslap.c:
  Updates for lock-directory.
  Simplified fork() code that is called. It should be possible to build now a version that used threads if someone wanted to port to windows).
  You can now specify several concurrency runs in one pass of the code.
2005-12-28 18:41:06 -08:00
unknown
66f962d808 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1


client/mysqlslap.c:
  Auto merged
2005-12-25 16:35:15 +02:00
unknown
c493d10260 Fixed compile errors (when compiling in debug mode)
BitKeeper/etc/ignore:
  added storage/archive/archive_test
2005-12-25 16:34:10 +02:00
unknown
4348dc672f New option to run multiple engines through the same test:
--engine="myisam,archive"

--number-of-rows has been removed for the time being and replaced with
 option to allow you to just repeat multiple time all of the inserts you specifed with data. When number-of-rows-returns it will be instead used for averaging rows while growing concurrency. 

Returned stats now has accurent row and query counts since it includes a multiple for the rows and queries added.

Parser is now a touch smarter and understands end of file issues if you have a delimiter at the end of the file.  


client/client_priv.h:
  New options
client/mysqlslap.c:
  Modifications for doing repeated tests.
mysql-test/r/mysqlslap.result:
  New result file
mysql-test/t/mysqlslap.test:
  Changes in tests to make sure concurrency failures would not occur.
2005-12-25 02:03:53 -08:00
unknown
ac2708382d See message in mysqlslap.c, but basically
1) Parsing now works
2) Options are safer, aka it doesn't kill the machine and it cleans up after itself
3) Option of --only-print added so that you can see what it does.
4) Tiny cleanup of the auto generate sql. A lot more needs to be done with this, for it to be very valuable. I suspect it doesn't work all that well.
5) Delimeter is now a single character. No good escaping going on.
6) You can now change which schema it is runninng against.

Now I think I can go make use of it! 

Though I need to add support for a "only run this many inserts, divide by the number of clients connecting, to really test scaling"



client/client_priv.h:
  Added new options for mysqlslap
client/mysqlslap.c:
  Lots of cleanup.
  
  Highlights:
  1) Parsing now works much better, though I suspect escaping issues still exist. All strings are parsed into a typedef called statement. This is a linked structure with each statement held in it. I added options for length so that when the time comes to fix this for binary data the guts of the main executing loop will not need to be changed
  2) Cleaned up options so that it will not destroy data by default and will clean up itself by default. So no leaving around of gobs of data.
  3) Added option of --only-print to see the SQL it would have executed
  4) Parsing handles whitespace trick (which will come back to bite someone I expect)
  5) Delimeter is now a single character
  6) All memory allocated should now be freed.
  7) Set defaults so that only a single run will occur if none are given.
  8) You can now change the schema that it runs against.
mysql-test/r/information_schema.result:
  Fix for Antony's merge
mysql-test/r/mysqlslap.result:
  New result set
  More testing
mysql-test/t/mysqlslap.test:
  More testing
2005-12-24 15:41:40 -08:00
unknown
30a61690f6 Bug #15845 New file "client/mysqlslap.c" break compilation on QNX, missing "sys/shm.h"
client/mysqlslap.c:
  Remove some include directives which (I hope) are superfluos
2005-12-20 12:56:48 +01:00
unknown
fbfb1956c6 WORKLOG #2983 Post review fixes
client/mysqlslap.c:
  WORKLOG #2983 - post review fixes
mysql-test/r/mysqlslap.result:
  WORKLOG #2983 Post review new results due to changes in help text
2005-12-02 22:07:11 -08:00
unknown
a9d363e698 Worklog #2983 Mysqlslap load emulator tool and accompanied test, results
and modifications to mysql-test-run(.pl/.sh)


client/Makefile.am:
  Worklog #2983, added mysqlslap to Makefile.am
client/client_priv.h:
  Worklog #2983 Added OPT_CREATE_SLAP_SCHEMA
mysql-test/mysql-test-run.pl:
  Worklog #2983 Added mysqlslap test binary to test script
mysql-test/mysql-test-run.sh:
  Worklog #2983 Added mysqlslap binary def to test script
client/mysqlslap.c:
  Worklog #2983 mysqlslap.c, new utility for running load simulation.
mysql-test/r/mysqlslap.result:
  Worklog #2983 Mysqlslap test results
mysql-test/t/mysqlslap.test:
  Worklog #2983 Mysqlslap test
2005-11-29 16:02:21 -08:00