Skip to content

Commit ddff3ac

Browse files
bgraingermichaelhixson
authored andcommitted
Improve aspcore DB benchmarks (#4015)
* Update .NET MySQL benchmarks to latest MySqlConnector version. * Update optimized connection string settings for MySqlConnector. * Use prepared commands with MySqlConnector. * Update npgsql to latest version.
1 parent 017292a commit ddff3ac

File tree

10 files changed

+33
-26
lines changed

10 files changed

+33
-26
lines changed

frameworks/CSharp/aspnetcore-mono/Benchmarks/Benchmarks.csproj

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,19 @@
1616
</ItemGroup>
1717

1818
<ItemGroup>
19-
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.1.0-rc1-final" />
20-
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.0-rc1-final" />
21-
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.1.0-rc1-final" />
22-
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.1.0-rc1-final" />
23-
<PackageReference Include="Microsoft.Extensions.Configuration" Version="2.1.0-rc1-final" />
24-
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="2.1.0-rc1-final" />
25-
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.1.0-rc1-final" />
26-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.0-rc1-final" />
27-
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.1.0-rc1-final" />
28-
<!-- Fix https://github.com/aspnet/KestrelHttpServer/pull/2562 -->
29-
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" Version="2.1.0-rtm-30793" />
30-
<PackageReference Include="MySqlConnector" Version="0.40.3" />
31-
<PackageReference Include="Npgsql" Version="4.0.0-rc1" />
32-
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.1.0-rc1" />
19+
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.1.1" />
20+
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.2" />
21+
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.1.3" />
22+
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.1.1" />
23+
<PackageReference Include="Microsoft.Extensions.Configuration" Version="2.1.1" />
24+
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="2.1.1" />
25+
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.1.1" />
26+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.1" />
27+
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.1.1" />
28+
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" Version="2.1.3" />
29+
<PackageReference Include="MySqlConnector" Version="0.44.1" />
30+
<PackageReference Include="Npgsql" Version="4.0.2" />
31+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.1.1.1" />
3332
</ItemGroup>
3433

3534
<ItemGroup Condition=" '$(TargetFramework)' == 'net471' ">

frameworks/CSharp/aspnetcore-mono/PlatformBenchmarks/PlatformBenchmarks.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="2.1.0-rc1-final" />
1919
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.0-rc1-final" />
2020
<PackageReference Include="Utf8Json" Version="1.3.7" />
21-
<PackageReference Include="Npgsql" Version="4.0.0-rc1" />
22-
<PackageReference Include="MySqlConnector" Version="0.40.3" />
21+
<PackageReference Include="Npgsql" Version="4.0.2" />
22+
<PackageReference Include="MySqlConnector" Version="0.44.1" />
2323
</ItemGroup>
2424

2525
<ItemGroup Condition=" '$(TargetFramework)' == 'net471' ">

frameworks/CSharp/aspnetcore/Benchmarks/Benchmarks.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
<ItemGroup>
1515
<PackageReference Include="Microsoft.AspNetCore.App" />
1616
<PackageReference Include="Dapper" Version="1.50.4" />
17-
<PackageReference Include="MySqlConnector" Version="0.40.3" />
18-
<PackageReference Include="Npgsql" Version="4.0.0-rc1" />
19-
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.1.0-rc1" />
17+
<PackageReference Include="MySqlConnector" Version="0.44.1" />
18+
<PackageReference Include="Npgsql" Version="4.0.2" />
19+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.1.1.1" />
2020
<PackageReference Include="SpanJson" Version="1.2.2" />
2121
<PackageReference Include="Utf8Json" Version="1.3.7" />
2222
</ItemGroup>

frameworks/CSharp/aspnetcore/Benchmarks/Data/RawDb.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ DbCommand CreateReadCommand(DbConnection connection)
6464
id.Value = _random.Next(1, 10001);
6565
cmd.Parameters.Add(id);
6666

67+
(cmd as MySql.Data.MySqlClient.MySqlCommand)?.Prepare();
68+
6769
return cmd;
6870
}
6971

@@ -147,6 +149,8 @@ public async Task<IEnumerable<Fortune>> LoadFortunesRows()
147149
db.ConnectionString = _connectionString;
148150
await db.OpenAsync();
149151

152+
(cmd as MySql.Data.MySqlClient.MySqlCommand)?.Prepare();
153+
150154
using (var rdr = await cmd.ExecuteReaderAsync(CommandBehavior.CloseConnection))
151155
{
152156
while (await rdr.ReadAsync())
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"ConnectionString": "Server=tfb-database;Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;Maximum Pool Size=1024;SslMode=None;ConnectionReset=false;ConnectionIdlePingTime=900;ConnectionIdleTimeout=0",
2+
"ConnectionString": "Server=tfb-database;Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;Maximum Pool Size=1024;SslMode=None;ConnectionReset=false;ConnectionIdlePingTime=900;ConnectionIdleTimeout=0;AutoEnlist=false;DefaultCommandTimeout=0;ConnectionTimeout=0;IgnorePrepare=false;",
33
"Database": "mysql"
44
}

frameworks/CSharp/aspnetcore/PlatformBenchmarks/Data/RawDb.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ DbCommand CreateReadCommand(DbConnection connection)
6262
id.Value = _random.Next(1, 10001);
6363
cmd.Parameters.Add(id);
6464

65+
(cmd as MySql.Data.MySqlClient.MySqlCommand)?.Prepare();
66+
6567
return cmd;
6668
}
6769

@@ -146,6 +148,8 @@ public async Task<List<Fortune>> LoadFortunesRows()
146148
db.ConnectionString = _connectionString;
147149
await db.OpenAsync();
148150

151+
(cmd as MySql.Data.MySqlClient.MySqlCommand)?.Prepare();
152+
149153
using (var rdr = await cmd.ExecuteReaderAsync(CommandBehavior.CloseConnection))
150154
{
151155
while (await rdr.ReadAsync())

frameworks/CSharp/aspnetcore/PlatformBenchmarks/PlatformBenchmarks.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313

1414
<ItemGroup>
1515
<PackageReference Include="Utf8Json" Version="1.3.7" />
16-
<PackageReference Include="Npgsql" Version="4.0.0-rc1" />
17-
<PackageReference Include="MySqlConnector" Version="0.40.3" />
16+
<PackageReference Include="Npgsql" Version="4.0.2" />
17+
<PackageReference Include="MySqlConnector" Version="0.44.1" />
1818
<PackageReference Include="Microsoft.AspNetCore.All" />
1919
</ItemGroup>
2020
</Project>

frameworks/CSharp/nancy/src/NancyBenchmark.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
<ItemGroup>
2323
<PackageReference Include="Nancy" Version="2.0.0-pre1909" />
24-
<PackageReference Include="MySqlConnector" Version="0.40.3" />
24+
<PackageReference Include="MySqlConnector" Version="0.44.1" />
2525
<PackageReference Include="Dapper" Version="1.50.4" />
2626
</ItemGroup>
2727

frameworks/VB/aspnetcore/Benchmarks/Benchmarks.vbproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212
<ItemGroup>
1313
<PackageReference Include="Utf8Json" Version="1.3.7" />
14-
<PackageReference Include="Npgsql" Version="4.0.1" />
15-
<PackageReference Include="MySqlConnector" Version="0.42.2" />
14+
<PackageReference Include="Npgsql" Version="4.0.2" />
15+
<PackageReference Include="MySqlConnector" Version="0.44.1" />
1616
<PackageReference Include="Microsoft.AspNetCore.App" />
1717
</ItemGroup>
1818

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"ConnectionString": "Server=tfb-database;Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;Maximum Pool Size=1024;SslMode=None;ConnectionReset=false;ConnectionIdlePingTime=900;ConnectionIdleTimeout=0",
2+
"ConnectionString": "Server=tfb-database;Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;Maximum Pool Size=1024;SslMode=None;ConnectionReset=false;ConnectionIdlePingTime=900;ConnectionIdleTimeout=0;AutoEnlist=false;DefaultCommandTimeout=0;ConnectionTimeout=0;",
33
"Database": "mysql"
44
}

0 commit comments

Comments
 (0)