- #7805 - make initial copy of apps from aspnet/Performance repo - add apps to solution - add Readme for the benchmark apps - update BasicApi app to actually do authentication and authorization - bug in the ported app - refactor `Main` methods and add `CreateWebHostBuilder(...)` methods - change projects to understand `$(BenchmarksTargetFramework)` - use NuGet.org EF packages to avoid changing the Universe build graph - use SQLite instead of LocalDb by default - remove unnecessary appsettings.json files and JSON configuration support - add EF migrations - (greatly) reduce startup times compared to creating / deleting databases - add MySql, PostgreSQL, and SqlServer support - load BasicApi data in a `DbContext.OnModelCreating(...)` override - no longer need seed.sql - generalize migrations to support multiple providers - use negative seeding indices to work around npgsql/Npgsql.EntityFrameworkCore.PostgreSQL#36 - work around Pomelo lack of strong name (PomeloFoundation/Pomelo.EntityFrameworkCore.MySql#603) - use BenchmarksOnly* properties for EF dependencies - see also aspnet/Universe#1224 - drop databases (if SQLite) or migrations (otherwise) in `IApplicationLifetime.ApplicationStopping` handlers - add functional tests - drop SQLite database at end of test run - add benchmarks automation - add anonymous BasicApi action i.e. require no authorization - add non-antiforgery BasicViews actions Address PR comments - remove `AntiforgeryTestHelper` workarounds - use `[ApiController]` - use `ActionResult<Pet>` - remove unused classes nits: - take VS suggestions in added files - optionally display create and delete SQL scripts for per-database migrations - merge `InsertData(...)` calls for consistency with most supported EF providers - SQLite is the only one that requires separate `INSERT`s and EF does the splitting |
||
|---|---|---|
| .. | ||
| BasicApi | ||
| BasicViews | ||
| README.md | ||
README.md
Purpose
These projects assist in Benchmarking MVC. They makes it easier to test local changes than having the App in the Benchmarks repo by letting us make changes in MVC branches and use the example commandline below to run the benchmarks against our branches.
Usage
- Push changes you would like to test to a branch on GitHub
- Clone aspnet/benchmarks repo to your machine or install the global BenchmarksDriver tool https://www.nuget.org/packages/BenchmarksDriver/
- If cloned go to the BenchmarksDriver project
- Use the following command as a guideline for running a test using your changes
benchmarks --server <server-endpoint> --client <client-endpoint> -j https://raw.githubusercontent.com/aspnet/MVC/dev/benchmarkaps/BasicApi/BasicApi.json
- For more info/commands see https://github.com/aspnet/benchmarks/blob/dev/src/BenchmarksDriver/README.md