Hi All,
When I test the DBT2 with a large number of connections, I always get the error:
Error in read.table(file = file, header = header, sep = sep, quote = quote, :
no lines available in input
Calls: read.csv -> read.table
I have tracked the file and see the reason is there are no "TERMINATED" in mix.log.
However, in my observation, driver and client do not close elegantly so they cannot quit with sprintf with the "TERMINATED" message (These threads are closed by killall command).
1. How can I solve the problem? (I have checked the bash script and c code. I don't know why each thread cannot exit from the main loop after the predefined time. It should exit the main loop at time xxxx, which is a pre-computed value, according to the code.)
2. I want to know if my performance is too low.
No matter how I change the parameters, like creating RAM disk, improving the connection number, I always get the similar results.
Here is one of my test results:
Hardware: 4-core, 16GB of memory, two disks, and 1Gb ethernet
Parameters: 10 warehouses, 30 connections.
Response Time (s)
Transaction % Average : 90th % Total Rollbacks %
------------ ----- --------------------- ----------- --------------- -----
Delivery 3.00 0.012 : 0.018 7 0 0.00
New Order 41.63 0.006 : 0.008 97 0 0.00
Order Status 5.58 0.003 : 0.004 13 0 0.00
Payment 47.64 0.003 : 0.004 111 0 0.00
Stock Level 2.15 0.005 : 0.007 5 0 0.00
------------ ----- --------------------- ----------- --------------- -----
118.78 new-order transactions per minute (NOTPM)
0.8 minute duration
0 total unknown errors
97.0 seconds(s) ramping up
It seems only 2 txns/sec. Is that too low? How can I improve the performance?
3. How can I test the performance in distributed mode?
Looking forward to your replies.
Thanks,
Tim