# How to achieve (1000 tx 1000 reads each)/sec on single client

**URL:** <https://forums.foundationdb.org/t/how-to-achieve-1000-tx-1000-reads-each-sec-on-single-client/2130>\
**Category:** Using FoundationDB\
**Tags:** performance\
**Created:** [May 21, 2020, 3:47am UTC](https://forums.foundationdb.org/t/how-to-achieve-1000-tx-1000-reads-each-sec-on-single-client/2130 "2020-05-21T03:47:18Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![panghy](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/panghy/32/19_2.png) [@panghy](https://forums.foundationdb.org/u/panghy)\
**Post date:** [May 21, 2020, 11:24pm UTC](https://forums.foundationdb.org/t/how-to-achieve-1000-tx-1000-reads-each-sec-on-single-client/2130/10 "2020-05-21T23:24:45Z")

</div>

BTW, in many non-critical (write-then-read) use cases, we re-use the same transaction (obv same read version) and recycle them every second. That way you also get some local caching too (if you’re really reading the same keys, even ranges, all the time).

Java but you get the idea:

> <https://github.com/wavefrontHQ/foundationdb-utils/blob/master/src/main/java/com/wavefront/fdb/utils/BatchReader.java>

---

_[View the full topic](https://forums.foundationdb.org/t/how-to-achieve-1000-tx-1000-reads-each-sec-on-single-client/2130)._
