Hi Everyone, Recently I have done a test of ofbiz on the following configuration: Hardware - Dell 2950 Quad Core Dual processor 1.86 GHz 8 GB RAM 6 SAS 146 GB HDD with 15,000 RPM
Software: 1. XenSource open source paravirtualization (Native virtualization was slow) 2. Host OS- Ubuntu Dapper LTS 6.04 (minimal install with just xen hypervisor) 3. Guest OS 1 - Ubuntu Dapper LTS 6.04 (Minimal install with ofbiz) 4. Guest OS 2 - Ubuntu Dapper LTS 6.04 (Minimal install and PostgreSQL only) 5. Web Server - Apache 2 6. AJP for Apache2 with ofbiz The application + web server was Guest OS ubuntu with 4 GB RAM out of which 3 GB was allocated to ofbiz while starting the JVM. The postgreSQL server was running on 2 GB RAM on another guest OS which is again ubuntu. I have done some tests with 1 million dummy customers and the entity test results and alos in general the order creation and response results were very good. Attaching with this mail the entity performance test. Thanks with best regards, Vikrant <<performancetest.txt>>
Test with 10,000 Customers NOTE: These performance results may vary a great deal for different databases, JDBC drivers, JTA implementations (transaction managers), connection pools, local vs. remote deployment configurations, and hardware (app server hardware, database server hardware, network connections). Operation Entity Calls Seconds Seconds/Call Calls/Second findByPrimaryKey Large:Product 1,000 1.64 0.00164 609.7560976 findByPrimaryKeyCache Large:Product 10,000 1.342 0.0001342 7,451.5648286 findByPrimaryKey Small:Party 1,000 0.687 0.000687 1,455.6040757 findByPrimaryKeyCache Small:Party 10,000 0.826 0.0000826 12,106.5375303 create Large:Product 1,000 2.43 0.00243 411.5226337 update Large:Product 1,000 1.868 0.001868 535.3319058 remove Large:Product 1,000 6.713 0.006713 148.9646954 new HashMap N/A 100,000 1.726 0.0000173 57,937.4275782 UtilMisc.toMap N/A 100,000 5.383 0.0000538 18,577.0016719 UtilCache.get(String) - basic settings N/A 1,000,000 5.636 0.0000056 177,430.8019872 UtilCache.get(GenericPK) - basic settings N/A 1,000,000 6.234 0.0000062 160,410.6512672 UtilCache.put(GenericPK) - basic settings N/A 1,000,000 7.001 0.000007 142,836.7376089 Test Results with 100,000 customers NOTE: These performance results may vary a great deal for different databases, JDBC drivers, JTA implementations (transaction managers), connection pools, local vs. remote deployment configurations, and hardware (app server hardware, database server hardware, network connections). Operation Entity Calls Seconds Seconds/Call Calls/Second findByPrimaryKey Large:Product 1,000 1.852 0.001852 539.9568035 findByPrimaryKeyCache Large:Product 10,000 1.341 0.0001341 7,457.1215511 findByPrimaryKey Small:Party 1,000 0.719 0.000719 1,390.8205841 findByPrimaryKeyCache Small:Party 10,000 0.818 0.0000818 12,224.9388753 create Large:Product 1,000 2.331 0.002331 429.000429 update Large:Product 1,000 2.206 0.002206 453.3091568 remove Large:Product 1,000 5.909 0.005909 169.2333728 new HashMap N/A 100,000 1.699 0.000017 58,858.151854 UtilMisc.toMap N/A 100,000 5.356 0.0000536 18,670.6497386 UtilCache.get(String) - basic settings N/A 1,000,000 5.722 0.0000057 174,764.0685075 UtilCache.get(GenericPK) - basic settings N/A 1,000,000 6.462 0.0000065 154,750.8511297 UtilCache.put(GenericPK) - basic settings N/A 1,000,000 6.883 0.0000069 145,285.48598 Test Results with 0.5 million customers NOTE: These performance results may vary a great deal for different databases, JDBC drivers, JTA implementations (transaction managers), connection pools, local vs. remote deployment configurations, and hardware (app server hardware, database server hardware, network connections). Operation Entity Calls Seconds Seconds/Call Calls/Second findByPrimaryKey Large:Product 1,000 1.843 0.001843 542.5935974 findByPrimaryKeyCache Large:Product 10,000 1.217 0.0001217 8,216.9268694 findByPrimaryKey Small:Party 1,000 0.759 0.000759 1,317.5230567 findByPrimaryKeyCache Small:Party 10,000 0.774 0.0000774 12,919.8966408 create Large:Product 1,000 2.442 0.002442 409.5004095 update Large:Product 1,000 1.907 0.001907 524.383849 remove Large:Product 1,000 6.337 0.006337 157.803377 new HashMap N/A 100,000 1.739 0.0000174 57,504.3128235 UtilMisc.toMap N/A 100,000 5.374 0.0000537 18,608.1131373 UtilCache.get(String) - basic settings N/A 1,000,000 5.69 0.0000057 175,746.9244288 UtilCache.get(GenericPK) - basic settings N/A 1,000,000 6.182 0.0000062 161,759.9482368 UtilCache.put(GenericPK) - basic settings N/A 1,000,000 6.754 0.0000068 148,060.4086467 Test Results with 0.901 million customers NOTE: These performance results may vary a great deal for different databases, JDBC drivers, JTA implementations (transaction managers), connection pools, local vs. remote deployment configurations, and hardware (app server hardware, database server hardware, network connections). Operation Entity Calls Seconds Seconds/Call Calls/Second findByPrimaryKey Large:Product 1,000 2.049 0.002049 488.0429478 findByPrimaryKeyCache Large:Product 10,000 1.303 0.0001303 7,674.5970837 findByPrimaryKey Small:Party 1,000 0.794 0.000794 1,259.4458438 findByPrimaryKeyCache Small:Party 10,000 0.81 0.000081 12,345.6790123 create Large:Product 1,000 2.28 0.00228 438.5964912 update Large:Product 1,000 1.723 0.001723 580.3830528 remove Large:Product 1,000 6.433 0.006433 155.4484688 new HashMap N/A 100,000 1.739 0.0000174 57,504.3128235 UtilMisc.toMap N/A 100,000 6.095 0.000061 16,406.8908942 UtilCache.get(String) - basic settings N/A 1,000,000 5.457 0.0000055 183,250.8704416 UtilCache.get(GenericPK) - basic settings N/A 1,000,000 6.167 0.0000062 162,153.3971137 UtilCache.put(GenericPK) - basic settings N/A 1,000,000 6.752 0.0000068 148,104.2654028