[ 
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)

Reply via email to