Locking verses No Locking – UD 5.0 Benchmarks – Part 2
In this blog series, the UD 5 Performance Part 1 article focused on benchmarks between the UD 4.7 and UD 5.0 using a simple read / modify / write loop running directly on the server. This article continues the same series of testing by including record locking in the test loop to compare the impact of locking between both Universal Drivers. Details about the test setup and testing environment are included in part 1, and since this is a continuation we will not review the details in this part.
Since writing part 1, Revelation Software also released an article on UD 5 and UD 4.7 Benchmarks. Their benchmarks compared the overall test time where as our series is more focused on throughput (records read/written per second). Two key differences between the Revelation tests and the testing methodology in our series is the Revelation Software benchmarks include locking and wrote new records into a new table. This series does not write any new records but instead modifies only existing records.
To continue our series the test loop is changed to include record locks before read and an unlock after write (modify).
UD 5 and 4.7 Comparison Test Results
As in the previous article, each product is benchmarked using the same test data and each product is tested 3 times consecutively. The three runs of the UD 5 and 4.7 are neck and neck, each performing at approximately 4,830 recs/sec. There is no substantial difference between the two products with regards to locking in this test scenario.
Locking and No Locking Comparison
|Product||Part 1 - No Locking||Part 2 - Locking||% Decrease|
If we compare the results of our first tests in part 1 (no locking and no encryption), the results above clearly show the overhead of locking creating a reduction of 47 to 48% throughput and neither was more efficient than the other at handling locking.
In our specific locking tests, both services perform similarly to each other and that locking is an expensive hit to performance, even in on server processes.
There is still a lot more to benchmark, so you can look forward to more articles in this series. Revelation Software also released the Universal Driver 126.96.36.199 maintenance release since this series was started so future articles will focus on it instead of the first 188.8.131.52 release.