ScalabilityTestByEduardoSimioni

This is a rough rendering of a page from the old Prevayler wiki. Please see the new wiki for current documentation.

Results:                  
{#                 
|Prevayler | MySQL                 
Queries per second | 144205.91 | 28.08                 
Manipulations per second | 62.29 | 115.44                 
#}                 
      
Number of Objects: One million.      
      
Test Environment:                   
CPU: AMD K6-II 500MHz                 
RAM: 512MB - 100Mhz       
Operating System: Windows XP (Professional)                 
JVM: 1.3.1       
       
DBMS: MySQL                 
JDBC Driver: MM.Mysql (http://mmmysql.sourceforge.net/)       
Table type: InnoDB (supports transactions)     
my.ini file:       
{##        
#This File was made using the WinMySQLAdmin 1.4 Tool         
#19/3/2002 21:19:37         
         
#Uncomment or Add only the keys that you know how works.         
#Read the MySQL Manual for instructions         
         
[mysqld]         
basedir=C:/mysql         
#bind-address=10.0.0.1         
datadir=C:/mysql/data         
#language=C:/mysql/share/your language directory         
#slow query log#=         
#tmpdir#=         
#port=3306         
set-variable=key_buffer=16M         
set-variable = flush_time = 0         
#         
set-variable=max_connections=200         
set-variable=record_buffer=1M         
set-variable=sort_buffer=1M         
set-variable=key_buffer=50M         
#         
innodb_data_home_dir = c:\ibdata         
innodb_data_file_path = ibdata1:500M         
set-variable=innodb_buffer_pool_size = 300M         
set-variable=innodb_additional_mem_pool_size=20M         
innodb_log_group_home_dir=c:/iblogs         
innodb_log_arch_dir = c:/iblogs         
innodb_log_archive=0         
set-variable=innodb_log_files_in_group=3         
set-variable=innodb_log_file_size=50M         
set-variable=innodb_log_buffer_size=8M         
innodb_flush_log_at_trx_commit=1    @:o    
set-variable=innodb_file_io_threads=12         
set-variable=innodb_lock_wait_timeout=50         
#}         
<end of my.ini file>       
     
       
EduardoSimioni.       
      
----      
See: ScalabilityTestResults.      
 
---- 
 
TEST LOGS
 
Prevayler 
========= Running Query Test (10 rounds). Subject: Prevayler...
Creating 1000000 objects...
100000...
200000...
300000...
400000...
500000...
600000...
700000...
800000...
900000...
Each round will take approx. 60 seconds to run...

Memory used: 493092864
Seconds ellapsed: 60.026
--------- Round Result: 144205,91 operations/second (1 threads)

Memory used: 493092864
Seconds ellapsed: 60.006
--------- Round Result: 139461,80 operations/second (2 threads)

Memory used: 493092864
Seconds ellapsed: 60.057
--------- Round Result: 138784,34 operations/second (3 threads)

Memory used: 493092864
Seconds ellapsed: 60.066
--------- Round Result: 135244,23 operations/second (4 threads)

Memory used: 493092864
Seconds ellapsed: 60.006
--------- Round Result: 122190,48 operations/second (5 threads)

Memory used: 493092864
Seconds ellapsed: 60.007
--------- Round Result: 114033,60 operations/second (6 threads)

Memory used: 493092864
Seconds ellapsed: 60.186
--------- Round Result: 123162,11 operations/second (7 threads)

Memory used: 493092864
Seconds ellapsed: 60.137
--------- Round Result: 131297,09 operations/second (8 threads)

Memory used: 493092864
Seconds ellapsed: 60.126
--------- Round Result: 118936,73 operations/second (9 threads)

Memory used: 493092864
Seconds ellapsed: 60.407
--------- Round Result: 106196,53 operations/second (10 threads)

----------- BEST ROUND: 144205,91 operations/second (1 threads)


Prevayler CommandLog Directories:
ManipulationTest
ManipulationTest
ManipulationTest
ManipulationTest
ManipulationTest
ManipulationTest
ManipulationTest
ManipulationTest
ManipulationTest
ManipulationTest


========= Running Manipulation Test (10 rounds). Subject: Prevayler...
Creating 1000000 objects...
100000...
200000...
300000...
400000...
500000...
600000...
700000...
800000...
900000...
Each round will take approx. 60 seconds to run...

Memory used: 524025856
Seconds ellapsed: 60.016
========= Round Result: 39,46 operations/second (1 threads)

Memory used: 524025856
Seconds ellapsed: 60.027
========= Round Result: 41,31 operations/second (2 threads)

Memory used: 524025856
Seconds ellapsed: 60.076
========= Round Result: 41,36 operations/second (3 threads)

Memory used: 524025856
Seconds ellapsed: 60.046
========= Round Result: 41,42 operations/second (4 threads)

Memory used: 524025856
Seconds ellapsed: 60.077
========= Round Result: 47,31 operations/second (5 threads)

Memory used: 524025856
Seconds ellapsed: 60.046
========= Round Result: 51,58 operations/second (6 threads)

Memory used: 524025856
Seconds ellapsed: 60.036
========= Round Result: 52,75 operations/second (7 threads)

Memory used: 524025856
Seconds ellapsed: 60.067
--------- Round Result: 56,47 operations/second (8 threads)

Memory used: 524025856
Seconds ellapsed: 60.066
--------- Round Result: 59,47 operations/second (9 threads)

Memory used: 524025856
Seconds ellapsed: 60.077
--------- Round Result: 62,29 operations/second (10 threads)

----------- BEST ROUND: 62,29 operations/second (10 threads) 
MySQL 
========= Running Query Test (10 rounds). Subject: JDBC... 
Creating 1000000 objects... 
100000... 
200000... 
300000... 
400000... 
500000... 
600000... 
700000... 
800000... 
900000... 
Each round will take approx. 60 seconds to run... 
 
Memory used: 2031616 
Seconds ellapsed: 60.046 
========= Round Result: 28,08 operations/second (1 threads) 
 
Memory used: 2031616 
Seconds ellapsed: 60.027 
========= Round Result: 27,92 operations/second (2 threads) 
 
Memory used: 2031616 
Seconds ellapsed: 60.116 
========= Round Result: 26,81 operations/second (3 threads) 
 
Memory used: 2031616 
Seconds ellapsed: 60.046 
========= Round Result: 22,20 operations/second (4 threads) 
 
Memory used: 2031616 
Seconds ellapsed: 60.387 
========= Round Result: 19,86 operations/second (5 threads) 
 
Memory used: 2031616 
Seconds ellapsed: 60.127 
========= Round Result: 19,19 operations/second (6 threads) 
 
Memory used: 2072576 
Seconds ellapsed: 60.236 
========= Round Result: 18,91 operations/second (7 threads) 
 
Memory used: 2281472 
Seconds ellapsed: 60.337 
========= Round Result: 19,23 operations/second (8 threads) 
 
Memory used: 2428928 
Seconds ellapsed: 60.317 
========= Round Result: 19,10 operations/second (9 threads) 
 
Memory used: 2727936 
Seconds ellapsed: 60.357 
========= Round Result: 18,90 operations/second (10 threads) 
 
========= BEST ROUND: 28,08 operations/second (1 threads) 
 
 
========= Running Manipulation Test (10 rounds). Subject: JDBC... 
Creating 1000000 objects... 
100000... 
200000... 
300000... 
400000... 
500000... 
600000... 
700000... 
800000... 
900000... 
Each round will take approx. 60 seconds to run... 
 
Memory used: 2543616 
Seconds ellapsed: 60.017 
========= Round Result: 12,26 operations/second (1 threads) 
 
Memory used: 2543616 
Seconds ellapsed: 60.066 
========= Round Result: 30,40 operations/second (2 threads) 
 
Memory used: 2543616 
Seconds ellapsed: 60.076 
========= Round Result: 46,34 operations/second (3 threads) 
 
Memory used: 2543616 
Seconds ellapsed: 60.067 
========= Round Result: 60,25 operations/second (4 threads) 
 
Memory used: 2543616 
Seconds ellapsed: 60.056 
========= Round Result: 73,30 operations/second (5 threads) 
 
Memory used: 2543616 
Seconds ellapsed: 60.036 
========= Round Result: 87,11 operations/second (6 threads) 
 
Memory used: 2543616 
Seconds ellapsed: 60.047 
========= Round Result: 98,12 operations/second (7 threads) 
 
Memory used: 2543616 
Seconds ellapsed: 60.126 
========= Round Result: 105,13 operations/second (8 threads) 
Memory used: 2543616 
Seconds ellapsed: 60.077 
========= Round Result: 115,44 operations/second (9 threads) 
 
========= BEST ROUND: 115,44 operations/second (9 threads)