连续http调用后,我的应用程序运行速度变慢

时间:2018-06-30 19:51:24

标签: c# asp.net-core npgsql

我正在Mac上运行.Net Core 2.1和NPGSQL 4.0。我正在进行性能调整,并尝试运行100个http请求并使用Jmeter衡量性能。如您所见,第一个请求花费550毫秒,第25个请求花费3.9秒,最后一个第100个请求花费12.7秒。我可以做些什么来提高应用程序的性能吗?我在发布模式下运行了这些测试,数据库在40毫秒内返回了每个请求。这些请求本应全部执行,但是到时候您可以看到每个请求所花的时间都比前一个要长。

public class HomeController : Controller
{ 
    public static string ConnectionString = "Host=localhost;Username=postgres;Password=password;" +
            "Database=dbname;port=port;CommandTimeout=50000;TIMEOUT=1024;POOLING=True;MINPOOLSIZE=1;MAXPOOLSIZE=100";

    public async Task<String> Test()
    {
        string result = string.Empty;

        using (var conn = new NpgsqlConnection(ConnectionString))
        {
            await conn.OpenAsync();
            // Retrieve all rows
            using (var cmd = new NpgsqlCommand("select json_build_object('Locations', array_to_json(array_agg(t))) from (SELECT latitudes,county,longitudes," +
                "statelong, thirtylatmin,thirtylatmax,thirtylonmin,thirtylonmax,city" +
                " FROM zips where city='Miami' ORDER BY city limit 5) t", conn))
            {
                using (var reader = await cmd.ExecuteReaderAsync()) 
                {
                    while (await reader.ReadAsync())
                    {
                        result = reader.GetString(0);
                    }
                }
            }

            return result;
        } 
    }
}

enter image description here

0 个答案:

没有答案