Skip to content
This repository was archived by the owner on Nov 5, 2024. It is now read-only.

Commit bf79f8d

Browse files
committed
[waf]MongoDB中的attrs.waf_id增加索引以提升查询速度
1 parent 34c7c0d commit bf79f8d

1 file changed

Lines changed: 28 additions & 21 deletions

File tree

teadb/dao_access_log_mongo.go

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -362,28 +362,35 @@ func (this *MongoAccessLogDAO) initTable(table string) {
362362
if isInitializedTable(table) {
363363
return
364364
}
365-
for _, fields := range [][]*shared.IndexField{
366-
{
367-
shared.NewIndexField("serverId", true),
368-
},
369-
{
370-
shared.NewIndexField("status", true),
371-
shared.NewIndexField("serverId", true),
372-
},
373-
{
374-
shared.NewIndexField("remoteAddr", true),
375-
shared.NewIndexField("serverId", true),
376-
},
377-
{
378-
shared.NewIndexField("hasErrors", true),
379-
shared.NewIndexField("serverId", true),
380-
},
381-
} {
382-
err := this.createIndex(table, fields)
383-
if err != nil {
384-
logs.Error(err)
365+
366+
// 异步执行,防止阻塞进程
367+
go func() {
368+
for _, fields := range [][]*shared.IndexField{
369+
{
370+
shared.NewIndexField("serverId", true),
371+
},
372+
{
373+
shared.NewIndexField("status", true),
374+
shared.NewIndexField("serverId", true),
375+
},
376+
{
377+
shared.NewIndexField("remoteAddr", true),
378+
shared.NewIndexField("serverId", true),
379+
},
380+
{
381+
shared.NewIndexField("hasErrors", true),
382+
shared.NewIndexField("serverId", true),
383+
},
384+
{
385+
shared.NewIndexField("attrs.waf_id", true),
386+
},
387+
} {
388+
err := this.createIndex(table, fields)
389+
if err != nil {
390+
logs.Error(err)
391+
}
385392
}
386-
}
393+
}()
387394
}
388395

389396
func (this *MongoAccessLogDAO) createIndex(table string, fields []*shared.IndexField) error {

0 commit comments

Comments
 (0)