<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <connectionStrings>
    <add name="MongoDB" connectionString="mongodb://localhost" />
    <add name="MySQL" connectionString="server=localhost; user id=benchmarkdbuser; password=benchmarkdbpass; database=hello_world" providerName="MySql.Data.MySqlClient" />
    <add name="PostgreSQL" connectionString="server=localhost; user id=benchmarkdbuser; password=benchmarkdbpass; database=hello_world" providerName="Npgsql" />
    <!-- Set max pool size to SQL Server's default max_connections value. In practice, we don't seem to be getting close to the max at all. -->
    <add name="SQLServer" connectionString="server=localhost; user id=benchmarkdbuser; password=B3nchmarkDBPass; database=hello_world; max pool size=32767" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <appSettings>
    <!-- To fully saturate the CPUs, we need to allow the .NET thread pool to create many threads
         when a large burst of requests come in. We do this by boosting the minWorkerThreads value
         from the default of 1 per logical processor to 40 per logical processor. This seems to be
         a little conservative as http://support.microsoft.com/kb/821268 recommends 50.-->
    <add key="minWorkerThreadsPerLogicalProcessor" value="40" />
    <!-- Disable ServiceStack features -->
    <add key="DisabledFeatures" value="MetaData, Soap, Soap11, Soap12" />
  </appSettings>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.7.4.0" newVersion="6.7.4.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.13.91" newVersion="2.0.13.91" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="AWSSDK" publicKeyToken="9f476d3089b52be3" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.4" newVersion="2.0.0.4" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
