Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This is performance review for YC version 3.0.0 of e-commerce platform based on demo store, which is shipped with the code base.

...

The test is split into several levels through number of concurrent users allowed in the test (Concurrent users = number users using the site at the same time). There are four levels: 100, 500, 1000 and 2000. Each of these levels represents size of the online store.

Sample Browsing users Checkout users Benchmark 
100 90 10 ordering a popular boutique 
500 450 50 ordering a busy retailer with vast range of brands 
1000 900 100 ordering nationwide well established superstores 
2000 1800 200 ordering multinational enterprise level companies 

All tests are performed using a single storefront node, which is the simplest, cheapest (in terms of hardware) and most straightforward installation (fully functional store in 3h from blank operating system). The reason for this is that we wanted to show the potential of the system which allows fantastic level of throughput using minimal resources. Of course clustered environments will enjoy even better performance levels, however require more resource intensive infrastructure setup.

...

Results outlined in this performance test report prove that even with a single node YC enode e-commerce platform is able to satisfy even large scale projects.

...

The following hardware and software was used during performance testing:

Resource Version/Spec Notes 
Processor Intel Xeon E3-1230 3200MHz/L3-8192Kb/DMI s1155  
RAM 16GB DDR3 PC3-10600 1333MHz ECC (-Xms1024m -Xmx4096m) Java memory allocation: -Xms1024m -Xmx4096m 
HDD 2x WD VelociRaptor WD1500ADFD 150Gb, RAID1  
Java SDK OpenJDK 1.8.x  
Tomcat v.7.x.x 1 instance, standalone non-native 
Apache HTTP  (error) 
RDBMS MySQL v 5.5 same machine typical non-tuned installation 
YC 
Platform3.0.0 basic single Demo store + YUM installation, file system based full text index 

Test results

...

3.x.x single node

 

Each test had run approximately 45min to ensure cache evictions and garbage collections are taken into account. 

It is clear from figures below that order processing throughput per hour remained at a high level of 87,000 orders per hour for 100 users declining to 48,000 order per hour for 2,000 users. This metric proves YC is the platform is capable of handling load even for large nationwide popular stores during peak sales (~3,000 o/h).

Looking at the page per hour figures we exhibit that YC the platform is more than capable to handle the browsing users as well. With 330,000 pages per hour for 100 users, simply because there is not enough users to get greater throughput, and 400,000+ pages per hour for 500 and 1,000 users, slightly declining to 330,000 for 2,000 users - it is clear that even large nationwide popular stores during peak sales (400,000 p/h) will enjoy great performance.

Figures suggest that even with heaviest load (2,000 users) full browsing, registration and checkout process with three items in the cart will take no more than 73 seconds. 

Metric 100 500 1000 2000 
CPU consumption 30-50% 40-70% 50-80% 50-80% 
Memory consumption 500MB - 1GB 1GB - 3GB 1GB - 3.6GB 1.5GB - 4GB 
RDBMS connection pool 2000 2000 2000 2000 
Throughput pages per hour (000's)330K425K404K330K
Number of pages browsed 85,500 213,000 205,000 205,000 
Number of orders created 500 1,250 1,200 1,200 
Order processing throughput per hour (000's)~87K~49K~48K~48K
End to end order processing time for three items and full registration ~3,521ms ~25,665ms ~53,063ms ~73,060ms 
Checkout only order processing time for three items and full registration ~1,610ms ~14,172ms ~32,381ms ~49,648ms 
Product List/ Search ART ~572ms ~2,200ms ~3,600ms ~5,511ms 
Product Details ART ~525ms ~1,787ms ~3,600ms ~5,586ms 
Add to cart ART ~206ms ~1,193ms ~2,265ms ~3,066ms 
Cart ART ~33ms ~861ms ~2,317ms ~3,690ms 
Checkout step 1 (registration) ART ~147ms ~2,309ms ~4,359ms ~7,442ms 
Checkout step 2 (address) ART ~93ms ~2,354ms ~5,627ms ~8,191ms 
Checkout step 3 (shipping) ART ~62ms ~2,054ms ~4,825ms ~8,540ms 
Checkout step 4 (payment) ART ~1,157ms ~3,943ms ~7,906ms ~12,060ms 
My Account ART ~44ms ~842ms ~1,750ms ~3,500ms 

ART - Average response time

...