私はgolangをMysqlで使用しています。 apache benchmark tool
を使用してサーバー上の負荷をテストしています。接続エラーが多すぎます。私はthis postを読む。だから、SetMaxOpenConns(100)
を自分のコードに追加しました。それでも、これはあまりにも多くの接続エラーを取得しています。 post.txtファイル35のIDS(整数型)の配列が含まれていますSetMaxOpenConns()は `Error 1040:Too many connections`を解決していません
私は
ab -n 1000 -k -c 20 -p post.txt -T application/x-www-form-urlencoded http://localhost:8084/abcd
注次のクエリをしています。これは私の主な機能です:
私はすべてのIDに対してこのルーチンを実行しています。
func getRuleforProduct(db *sql.DB, id int) map[int]string {
m := make(map[int]string)
var res string
err := db.QueryRow("select rules from table where product_id = ?", id).Scan(&res)
checkError(err)
m[id] = res
return m
}
1秒あたりの要求が少ない場合でもこの問題を解決する方法。 atleast 20の同時リクエストに対してコードを動作させたい
netstat-antpはどのように見えますか? –