Table of Contents
Valentina Reports Benchmarks
Valentina Reports are integrated into Valentina Server, as well as also available as an ADK for integration into many software development packages. For years, Paradigma Software has talked about the speed of Valentina database - but many optimizations we've built into Valentina Server for DB also benefit reports generation too. We recently set up a test bed on a pair of Mac Minis (we do not jest - these make great little servers!) and ran reports with MySQL. Check out these results!
Here you can find:
- vsp file with report
- PHP files that connect to a localhost Valentina Server; Request to generate a PDF report
- bash file that can be used to launch PHP from a terminal
These benchmarks were tested with the following modest Apple Macintosh computers:
C1) Mac mini i5/2.5Ghz, RAM 8Gb 1333Mhz DDR3, HDD native SATA3
C2) Mac mini i7/2.3Ghz, RAM 16GB 1600Mhz DDR3, HDD native SATA3
- Mac OS X 10.8.4
- Valentina Server 5.4.2 - handles Valentina Projects file (.vsp)
- mySQL - remote - database with table with 32000 records
- mySQL - on localhost - database with table with 32000 records
Result - 929 page PDF
The test is to run a simple tabular report with 7 fields on all records, with the result being a PDF file with 929 pages, and a disk size of 3.5Mb.
- REMOTE mySQL:
- C1: 10.5 seconds
- C2: 9.7 seconds
- LOCALHOST mySQL:
- C1: 9.7 seconds
- C2: 8.2 seconds
Result - 1 page PDF
The test is to generate 100 reports in 1-page:
- LOCALHOST mySQL:
- C1: 4.0 seconds
- C2: 2.0 seconds
Analyze of Results
Valentina Server 5.4.2 generates these reports in mutexed access, so only a single core is utilized in generating the results. Read about multi-core below.
Valentina Server 5.4.2 generated 100 single page PDF reports, containing about 20 records with 7 fields.
We have 100 reports in 2 seconds, so 50 reports per second on MacMini/i7.
Calculate that in one day (24 hours) you will be able to get up to 24 * 60 * 60 * 50 = 4+ MILLION reports on a single, standard MacMini/i7.
Valentina Server MT
To date with the new VSERVER_MT, scalability utilizing the new VREPORT.dll is much better, utilizing more cores of the CPU on our tested hardware.
So far with this approach, the 8-core MacMini/i7 generates reports x3-x4 times faster. We haven't yet achieved x8, but tests are ongoing. Let's estimate this as
- 150-200 1-page PDF reports per second.
- 12-15 million 1-page PDF reports in one day (24 hours).