Commit 1d827314 authored by vicotor's avatar vicotor

update workerRunningInfo and test case

parent acaa5448
version: "3.5" version: "3.5"
services: services:
redis:
container_name: "redis"
image: "redis:latest"
restart: always
networks:
- default
environment:
- TZ=Asia/Shanghai
command: /usr/local/bin/redis-server /etc/redis/redis.conf
ports:
- "6379:6379"
volumes:
- "/etc/localtime:/etc/localtime"
mongo: mongo:
image: mongo:latest image: mongo:latest
container_name: mongo container_name: mongo
...@@ -25,12 +12,7 @@ services: ...@@ -25,12 +12,7 @@ services:
networks: networks:
- MONGO - MONGO
volumes: volumes:
- type: volume - './mongo-data:/data/db'
source: MONGO_DATA
target: /data/operator
- type: volume
source: MONGO_CONFIG
target: /data/configdb
mongo-express: mongo-express:
image: mongo-express:latest image: mongo-express:latest
container_name: mongo-express container_name: mongo-express
...@@ -49,9 +31,3 @@ services: ...@@ -49,9 +31,3 @@ services:
networks: networks:
MONGO: MONGO:
name: MONGO name: MONGO
volumes:
MONGO_DATA:
name: MONGO_DATA
MONGO_CONFIG:
name: MONGO_CONFIG
\ No newline at end of file
...@@ -72,7 +72,10 @@ func (d *WorkerInstalledOperator) Get(ctx context.Context, id string) (*WorkerIn ...@@ -72,7 +72,10 @@ func (d *WorkerInstalledOperator) Get(ctx context.Context, id string) (*WorkerIn
func (d *WorkerInstalledOperator) Clear() int64 { func (d *WorkerInstalledOperator) Clear() int64 {
res, _ := d.col.DeleteMany(context.Background(), bson.M{}) res, _ := d.col.DeleteMany(context.Background(), bson.M{})
return res.DeletedCount if res != nil {
return res.DeletedCount
}
return 0
} }
// //
......
...@@ -27,6 +27,22 @@ func NewDBWorkerRunning(client *mongo.Client, database string) *WorkerRunningOpe ...@@ -27,6 +27,22 @@ func NewDBWorkerRunning(client *mongo.Client, database string) *WorkerRunningOpe
} }
} }
func (d *WorkerRunningOperator) CreateIndex(ctx context.Context) error {
_, err := d.col.Indexes().CreateOne(ctx, mongo.IndexModel{
Keys: bson.D{{"model_id", 1}, {"exec_time", 1}},
//Options: options.Index().SetUnique(true),
})
return err
}
func (d *WorkerRunningOperator) Clear() int64 {
result, _ := d.col.DeleteMany(context.Background(), bson.M{})
if result != nil {
return result.DeletedCount
}
return 0
}
func (d *WorkerRunningOperator) InsertMany(ctx context.Context, workers []*WorkerRunningInfo) (*mongo.InsertManyResult, error) { func (d *WorkerRunningOperator) InsertMany(ctx context.Context, workers []*WorkerRunningInfo) (*mongo.InsertManyResult, error) {
var docs []interface{} var docs []interface{}
for _, worker := range workers { for _, worker := range workers {
......
...@@ -152,8 +152,17 @@ func BenchmarkDbWorkerRunning_FindWorkerByModelId(b *testing.B) { ...@@ -152,8 +152,17 @@ func BenchmarkDbWorkerRunning_FindWorkerByModelId(b *testing.B) {
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
b.StopTimer()
db := NewDBWorkerRunning(client, database) db := NewDBWorkerRunning(client, database)
defer db.client.Disconnect(context.Background()) defer db.client.Disconnect(context.Background())
once.Do(func() {
db.Clear()
if err := db.CreateIndex(context.Background()); err != nil {
b.Fatal(err)
}
idlist = initdata(client, 10000, true, false, true)
})
b.StartTimer()
b.ResetTimer() b.ResetTimer()
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
modelId := getRandIdInt(maxModelId) modelId := getRandIdInt(maxModelId)
...@@ -170,8 +179,18 @@ func BenchmarkDbWorkerRunning_FindWorkerByModelId_Parallel(b *testing.B) { ...@@ -170,8 +179,18 @@ func BenchmarkDbWorkerRunning_FindWorkerByModelId_Parallel(b *testing.B) {
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
b.StopTimer()
db := NewDBWorkerRunning(client, database) db := NewDBWorkerRunning(client, database)
defer db.client.Disconnect(context.Background()) defer db.client.Disconnect(context.Background())
once.Do(func() {
db.Clear()
if err := db.CreateIndex(context.Background()); err != nil {
b.Fatal(err)
}
idlist = initdata(client, 10000, true, false, true)
})
b.StartTimer()
b.ResetTimer()
b.RunParallel(func(pb *testing.PB) { b.RunParallel(func(pb *testing.PB) {
for pb.Next() { for pb.Next() {
modelId := getRandIdInt(maxModelId) modelId := getRandIdInt(maxModelId)
......
...@@ -42,8 +42,12 @@ func (d *WorkerInfoOperator) CreateIndex(ctx context.Context) error { ...@@ -42,8 +42,12 @@ func (d *WorkerInfoOperator) CreateIndex(ctx context.Context) error {
return err return err
} }
func (d *WorkerInfoOperator) Clear() { func (d *WorkerInfoOperator) Clear() int64 {
d.col.DeleteMany(context.Background(), bson.M{}) res, _ := d.col.DeleteMany(context.Background(), bson.M{})
if res != nil {
return res.DeletedCount
}
return 0
} }
func (d *WorkerInfoOperator) Get(ctx context.Context, id string) (*WorkerInfo, error) { func (d *WorkerInfoOperator) Get(ctx context.Context, id string) (*WorkerInfo, error) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment