|
@@ -0,0 +1,69 @@
|
|
|
+<configuration>
|
|
|
+ <connectionStrings>
|
|
|
+ <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"/>
|
|
|
+ <add name="MongoDB" connectionString="mongodb://localhost"/>
|
|
|
+ <!-- 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>
|
|
|
+
|
|
|
+ <system.data>
|
|
|
+ <DbProviderFactories>
|
|
|
+ <clear/>
|
|
|
+ <add name="MySql.Data.MySqlClient" description="Data Provider for MySQL" invariant="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.2.0"/>
|
|
|
+ <add name="Npgsql" description="Data Provider for PostgreSQL" invariant="Npgsql" type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.12.0"/>
|
|
|
+ <add name="SqlClient Data Provider" description=".Net Framework Data Provider for SqlServer" invariant="System.Data.SqlClient" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
|
|
+ </DbProviderFactories>
|
|
|
+ </system.data>
|
|
|
+
|
|
|
+ <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 8 per logical processor. This seems to be
|
|
|
+ pretty conservative as http://support.microsoft.com/kb/821268 recommends 50.-->
|
|
|
+ <add key="minWorkerThreadsPerLogicalProcessor" value="8" />
|
|
|
+ </appSettings>
|
|
|
+
|
|
|
+ <system.webServer>
|
|
|
+ <modules>
|
|
|
+ <!-- Disable unnecessary modules, especially ones written in .NET. -->
|
|
|
+ <remove name="UrlRoutingModule-4.0" />
|
|
|
+ <remove name="ScriptModule-4.0" />
|
|
|
+ <remove name="OutputCache" />
|
|
|
+ <remove name="Session" />
|
|
|
+ <remove name="WindowsAuthentication" />
|
|
|
+ <remove name="FormsAuthentication" />
|
|
|
+ <remove name="DefaultAuthentication" />
|
|
|
+ <remove name="RoleManager" />
|
|
|
+ <remove name="UrlAuthorization" />
|
|
|
+ <remove name="FileAuthorization" />
|
|
|
+ <remove name="AnonymousIdentification" />
|
|
|
+ <remove name="Profile" />
|
|
|
+ <remove name="UrlMappingsModule" />
|
|
|
+
|
|
|
+ <!-- We'd like to disable these modules as well, but they're marked `lockitem` in
|
|
|
+ %windir%\system32\inetsrv\config\applicationHost.config. If we could disable
|
|
|
+ them, we'd probably gain 2-3% in performance. -->
|
|
|
+ <!--
|
|
|
+ <remove name="RewriteModule" />
|
|
|
+ <remove name="CgiModule" />
|
|
|
+ <remove name="FastCgiModule" />
|
|
|
+ -->
|
|
|
+
|
|
|
+ <!-- Add our initialization module -->
|
|
|
+ <add name="MyModule" type="MyModule"/>
|
|
|
+ </modules>
|
|
|
+ <handlers>
|
|
|
+ <!-- Since we don't use fancy ASP.NET URL routing, we directly specify all our valid URL mappings here. -->
|
|
|
+ <add name="JsonHandler" path="json" verb="*" type="JsonHandler" resourceType="Unspecified" preCondition="integratedMode" />
|
|
|
+ <add name="DbHandler" path="db" verb="*" type="DbHandler" resourceType="Unspecified" preCondition="integratedMode" />
|
|
|
+ <add name="Fortunes_aspx" path="fortunes" verb="*" type="NoAspxHandlerFactory" resourceType="Unspecified" preCondition="integratedMode" />
|
|
|
+ <add name="UpdatesHandler" path="updates" verb="*" type="UpdatesHandler" resourceType="Unspecified" preCondition="integratedMode" />
|
|
|
+ <add name="PlaintextHandler" path="plaintext" verb="*" type="PlaintextHandler" resourceType="Unspecified" preCondition="integratedMode" />
|
|
|
+
|
|
|
+ <add name="MongoDBDbHandler" path="mongodbdb" verb="*" type="MongoDBDbHandler" resourceType="Unspecified" preCondition="integratedMode" />
|
|
|
+ <add name="MongoDBFortunes_aspx" path="mongodbfortunes" verb="*" type="NoAspxHandlerFactory" resourceType="Unspecified" preCondition="integratedMode" />
|
|
|
+ <add name="MongoDBUpdatesHandler" path="mongodbupdates" verb="*" type="MongoDBUpdatesHandler" resourceType="Unspecified" preCondition="integratedMode" />
|
|
|
+ </handlers>
|
|
|
+ </system.webServer>
|
|
|
+</configuration>
|