diff --git a/common/url.go b/common/url.go
index 0ef285d0ee9833d27c674508a40d0d74970c5e0d..a8548b40eaf7155f729a3ac34b8109bbfd3dbfaa 100644
--- a/common/url.go
+++ b/common/url.go
@@ -71,7 +71,7 @@ type baseUrl struct {
 	Port     string
 	Params   url.Values
 	//url.Values is not safe map, add to avoid concurrent map read and map write error
-	paramsLock   sync.Mutex
+	paramsLock   sync.RWMutex
 	PrimitiveURL string
 	ctx          context.Context
 }
@@ -293,11 +293,11 @@ func (c *URL) AddParam(key string, value string) {
 
 func (c URL) GetParam(s string, d string) string {
 	var r string
-	c.paramsLock.Lock()
+	c.paramsLock.RLock()
 	if r = c.Params.Get(s); r == "" {
 		r = d
 	}
-	c.paramsLock.Unlock()
+	c.paramsLock.RUnlock()
 	return r
 }
 func (c URL) GetParamAndDecoded(key string) (string, error) {