Просмотр исходного кода

chore(db): benchmark output, migration blocks/s output (#10320)

Just minor tweaks
Jakob Borg 5 месяцев назад
Родитель
Сommit
2306c6d989
2 измененных файлов с 19 добавлено и 2 удалено
  1. 18 1
      internal/db/sqlite/db_bench_test.go
  2. 1 1
      lib/syncthing/utils.go

+ 18 - 1
internal/db/sqlite/db_bench_test.go

@@ -31,10 +31,16 @@ func BenchmarkUpdate(b *testing.B) {
 	})
 
 	fs := make([]protocol.FileInfo, 100)
+	t0 := time.Now()
 
 	seed := 0
 	size := 1000
-	const numBlocks = 1000
+	const numBlocks = 500
+
+	fdb, err := db.getFolderDB(folderID, true)
+	if err != nil {
+		b.Fatal(err)
+	}
 
 	for size < 200_000 {
 		for {
@@ -54,6 +60,17 @@ func BenchmarkUpdate(b *testing.B) {
 			}
 		}
 
+		var files, blocks int
+		if err := fdb.sql.QueryRowx(`SELECT count(*) FROM files`).Scan(&files); err != nil {
+			b.Fatal(err)
+		}
+		if err := fdb.sql.QueryRowx(`SELECT count(*) FROM blocks`).Scan(&blocks); err != nil {
+			b.Fatal(err)
+		}
+
+		d := time.Since(t0)
+		b.Logf("t=%s, files=%d, blocks=%d, files/s=%.01f, blocks/s=%.01f", d, files, blocks, float64(files)/d.Seconds(), float64(blocks)/d.Seconds())
+
 		b.Run(fmt.Sprintf("n=Insert100Loc/size=%d", size), func(b *testing.B) {
 			for range b.N {
 				for i := range fs {

+ 1 - 1
lib/syncthing/utils.go

@@ -236,7 +236,7 @@ func TryMigrateDatabase(ctx context.Context, deleteRetention time.Duration, apiA
 					if time.Since(t1) > 10*time.Second {
 						d := time.Since(t0) + 1
 						t1 = time.Now()
-						slog.Info("Still migrating folder", "folder", folder, "files", files, "blocks", blocks, "duration", d.Truncate(time.Second), "filesrate", float64(files)/d.Seconds())
+						slog.Info("Still migrating folder", "folder", folder, "files", files, "blocks", blocks, "duration", d.Truncate(time.Second), "blocksrate", float64(blocks)/d.Seconds(), "filesrate", float64(files)/d.Seconds())
 					}
 				}
 			}