The JR Performance test is not an "exhaustive" performance test by any means - it pretty much focuses on JR specific tests - i.e. it's only going to test:
- the processor speed by going into a tight loop and adding numbers 10 million times.
- the database speed by running 12,000 database queries that query Jamroom's "DataStore" structure - i.e. a query like this:
$req = "SELECT DISTINCT(a.`_item_id`) AS _item_id FROM {$tbl} a
LEFT JOIN {$tbl} b ON (b.`_item_id` = a.`_item_id` AND b.`key` = 'core_num')
LEFT JOIN {$tbl} c ON (c.`_item_id` = a.`_item_id` AND c.`key` = 'core_set')
LEFT JOIN {$tbl} d ON (d.`_item_id` = a.`_item_id` AND d.`key` = 'core_string')
LEFT JOIN {$tbl} e ON (e.`_item_id` = a.`_item_id` AND e.`key` = 'core_title')
WHERE a.`key` = '_updated'
AND b.`value` > {$i}
AND c.`value` > {$i}
AND d.`value` LIKE '%tri%'
AND e.`value` LIKE '%itl%'
ORDER BY a.`value` DESC LIMIT 10";
This is the "search" query portion there are:
- 4,000 create queries (to create 2,000 items in the datastore (insert x 2))
- 2,000 update queries (to update the created items with new keys)
- 2,000 search queries (like above)
- 4,000 delete queries (to delete the created items (delete x 2))
The whole point is to gauge how fast your MySQL is going to work with Jamroom's datastore.
- the disk speed is assessed by creating a 1mb file in 1024 byte "writes" (so 1000 individual file writes). This basically figures out how fast your filesystem can fopen(), fwrite() and fclose() small files, which is a good predictor of file system performance.
Hope this helps!
--
Brian Johnson
Founder and Lead Developer - Jamroom
https://www.jamroom.net
updated by @brian: 02/05/15 07:06:09AM