[ https://issues.apache.org/jira/browse/ZOOKEEPER-2023?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kfir Lev-Ari updated ZOOKEEPER-2023: ------------------------------------ Attachment: (was: ZOOKEEPER-2023.patch) > Improved system test > -------------------- > > Key: ZOOKEEPER-2023 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2023 > Project: ZooKeeper > Issue Type: Test > Components: contrib-fatjar > Affects Versions: 3.5.0 > Reporter: Kfir Lev-Ari > Assignee: Kfir Lev-Ari > Priority: Minor > Attachments: ZOOKEEPER-2023.patch > > > Adding the ability to perform a system test of mixed workloads using > read-only/mixed/write-only clients. > In addition, adding few basic latency statistics. > https://reviews.apache.org/r/25217/ > Just in case it'll help someone, here is an example of how to run generate > load system test: > 1. Checkout zookeeper-trunk > 2. Go to zookeeper-trunk, run "ant jar compile-test" > 3. Go to zookeeper-trunk\src\contrib\fatjar, run "ant jar" > 4. Copy zookeeper-dev-fatjar.jar from zookeeper-trunk\build\contrib\fatjar to > each of the machines you wish to use. > 5. On each server, assuming that you've created a valid ZK config file (e.g., > zk.cfg) and a dataDir, run: > 5.1 java -jar zookeeper-dev-fatjar.jar server ./zk.cfg & > 5.2 java -jar zookeeper-dev-fatjar.jar ic <name of this server>:<its > client port> <name of this server>:<its client port> /sysTest & > 6. And finally, in order to run the test (from some machine), execute the > command: > java -jar zookeeper-dev-fatjar.jar generateLoad <name of one of the > servers>:<its client port> /sysTest <number of servers> <number of read-only > clients> <number of mixed workload clients> <number of write-only clients> > Note that "/sysTest" is the same name that we used in 5.2. > You'll see "Preferred List is empty" message, and after few seconds you > should get notifications of "Accepted connection from Socket[....". > Afterwards, just set the percentage of the mixed workload clients by entering > "percentage <number>" and the test will start. > Some explanation regarding the new output (which is printed every 6 seconds, > and is reset every time you enter a new percentage). > Interval: <interval number> <time> > Test info: <number of RO clients>xRO <number of mixed workload > clients>x<their write percentage>%W <number of write only clients>xWO, > percentiles [0.5, 0.9, 0.95, 0.99] > Throughput: <current interval throughput> | <minimum throughput until now> > <average throughput until now> <maximum throughput until now> > Read latency: interval [<interval's read latency values according to the > percentiles>], total [<read latency values until now, according to the > percentiles>] > Write latency: interval [interval's write latency values according to the > percentiles], total [<write latency values until now, according to the > percentiles>] > Note that the throughput is requests per second, and latency is in ms. In > addition, if you perform a read only test / write only test, you won't see > the printout of write / read latency. -- This message was sent by Atlassian JIRA (v6.3.4#6332)