diff --git a/tsdb/engine/tsm1/engine_test.go b/tsdb/engine/tsm1/engine_test.go
index ea86be8a71..dc8b635af3 100644
--- a/tsdb/engine/tsm1/engine_test.go
+++ b/tsdb/engine/tsm1/engine_test.go
@@ -573,6 +573,39 @@ func BenchmarkEngine_CreateIterator_Limit_1M(b *testing.B) {
 	benchmarkEngineCreateIteratorLimit(b, 1000000)
 }
 
+func BenchmarkEngine_WritePoints_10(b *testing.B) {
+	benchmarkEngine_WritePoints(b, 10)
+}
+func BenchmarkEngine_WritePoints_100(b *testing.B) {
+	benchmarkEngine_WritePoints(b, 100)
+}
+func BenchmarkEngine_WritePoints_1000(b *testing.B) {
+	benchmarkEngine_WritePoints(b, 1000)
+}
+
+func benchmarkEngine_WritePoints(b *testing.B, batchSize int) {
+	e := MustOpenEngine()
+	defer e.Close()
+
+	e.Index().CreateMeasurementIndexIfNotExists("cpu")
+	e.MeasurementFields("cpu").CreateFieldIfNotExists("value", influxql.Float, false)
+
+	p := MustParsePointString("cpu value=1.2")
+	pp := make([]models.Point, 0, batchSize)
+	for i := 0; i < batchSize; i++ {
+		pp = append(pp, p)
+	}
+
+	b.ResetTimer()
+	b.ReportAllocs()
+	for i := 0; i < b.N; i++ {
+		err := e.WritePoints(pp)
+		if err != nil {
+			b.Fatal(err)
+		}
+	}
+}
+
 func benchmarkEngineCreateIteratorLimit(b *testing.B, pointN int) {
 	benchmarkIterator(b, influxql.IteratorOptions{
 		Expr:       influxql.MustParseExpr("value"),