Skip to content
Snippets Groups Projects
Commit 87570256 authored by ale's avatar ale
Browse files

Batch inserts in benchmarks

parent e5901c6d
No related branches found
No related tags found
No related merge requests found
......@@ -19,6 +19,9 @@ const (
// How many events to fill up the db, test/bench cases.
manyEventsTest = 100000
manyEventsBench = 1000000
// When writing events to the db, do it in batches of this size.
writeBatchSize = 1000
)
func randomIP() string {
......@@ -151,10 +154,9 @@ func runWriteBench(b *testing.B, driver string) {
}
defer db.Close()
// Chunks of 100.
chunkSize := 1000
nchunks := b.N / chunkSize
events := randomEvents(chunkSize)
// Write events in chunks.
nchunks := b.N / writeBatchSize
events := randomEvents(writeBatchSize)
b.ResetTimer()
......@@ -188,9 +190,10 @@ func runReadBenchmark(b *testing.B, driver string, eventsPerIP int, threadCounts
// Write a lot of events just to bulk up the database, but
// also write a couple of records for a known IP, that we're
// going to read in the benchmark.
n := manyEventsBench
db.AddAggregate(randomEvents(n))
// going to read in the benchmark. Do it in batches.
for i := 0; i < manyEventsBench; i += writeBatchSize {
db.AddAggregate(randomEvents(writeBatchSize))
}
// For a bunch of random IPs, add a known (possibly large)
// number of events.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment