# Best practices for bulk load

**URL:** <https://forums.foundationdb.org/t/best-practices-for-bulk-load/422>\
**Category:** Using FoundationDB\
**Created:** [May 16, 2018, 5:25pm UTC](https://forums.foundationdb.org/t/best-practices-for-bulk-load/422 "2018-05-16T17:25:44Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![ryanworl](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/ryanworl/32/440_2.png) [@ryanworl](https://forums.foundationdb.org/u/ryanworl)\
**Post date:** [May 16, 2018, 6:30pm UTC](https://forums.foundationdb.org/t/best-practices-for-bulk-load/422/2 "2018-05-16T18:30:49Z")

</div>

Are you inserting keys in a sequential order?

Try randomizing the order to spread the load around the cluster rather than it all hitting one machine at the beginning or end of the key space you’re writing to.

I don’t think 5mb is optimal and is probably too high. I have never written that much in a transaction before during my testing over the last few weeks.

The client library is single threaded regardless of how many goroutines you start (AFAIK), so splitting the load across multiple processes should also increase parallelism which is needed to fully use the cluster. This will only work if you’re splitting the keyspace you’re writing to as well.

---

_[View the full topic](https://forums.foundationdb.org/t/best-practices-for-bulk-load/422)._
