Find Jobs
Hire Freelancers

Benchmark utility to measure DotNet Core web api execution speed

$2-8 USD / hour

In Progress
Posted over 5 years ago

$2-8 USD / hour

Web Api Benchmark utility Create a DotNet Core 2.1 Console Application to benchmark the execution speed of Web Api Core 2.1 authentication and invocation. Inside a VM I have an OAuth2 server running. You need to create a set of usernames and password and arbitrary JWT Claims on this server (a very quick task that takes up to maximum 15 minutes). This server runs local and may NOT be copied to outside the VM, as it is proprietary. You should thus develop inside this VM to which I will give you access. PLEASE ACKNOWLEDGE THAT YOU READ AND UNDERSTOOD THIS SPECIFIC REQUIREMENT! Create a simple Web Api with 1 GET method which returns a static string (specified in [login to view URL]). It also should have 1 POST method, having in the BODY a Geometry (4326) parameter, which inside it contains a set of Lat/Long coordinates. I can supply you some sourcecode to show how to populate and use this datatype. The POST method should return a static string, specified in [login to view URL], composed with the Lat/Long data. First you login to the OAuth2 server, using the usernames and passwords you established on that server. It will return a long living token. Then you logon to OAuth2 server again, using the long living token, which returns a short living token. You use this short living token to authenticate to the test Web Api that you will create. It should do this measuring in a multi-threaded way. All configuration data, like authentication keys, OAuth2 configuration properties, quantity of threads, time limit for each thread execution, should be specified and gathered from appsettings.json. Including the WebApi URIs should be specified in [login to view URL], in a list of addresses. Measure and display the execution speed, for each of these steps, according to the quantity of worker threads specified in configuration, of the following: 1 - Web Api GET calls     1a - No authentication (No OAuth2 relied server in the pipeline) 1b - No authentication (OAuth2 relied server in the pipeline; no authentication in the Controller) 1c - No authentication (OAuth2 relied server in the pipeline; no authentication in the Method) 1d - Authentication - Token without Claims; authentication in Controller 1e - Authentication - Token with 1 Claim; authentication in Controller 1f - Authentication - Token with 2 Claims; authentication in Controller 1g - Authentication - Token with 3 Claims; authentication in Controller 1h - Authentication - Token with 10 Claims; authentication in Controller 1i - Authentication - Token without Claims; authentication in Method 1j - Authentication - Token with 1 Claim; authentication in Method 1k - Authentication - Token with 2 Claims; authentication in Method 1l - Authentication - Token with 3 Claims; authentication in Method 1m - Authentication - Token with 10 Claims; authentication in Method 2 - Web Api POST calls (without BODY parameter)     2a - No authentication (No OAuth2 relied server in the pipeline) 2b - No authentication (OAuth2 relied server in the pipeline; no authentication in the Controller) 2c - No authentication (OAuth2 relied server in the pipeline; no authentication in the Method) 2d - Authentication - Token without Claims; authentication in Controller 2e - Authentication - Token with 1 Claim; authentication in Controller 2f - Authentication - Token with 2 Claims; authentication in Controller 2g - Authentication - Token with 3 Claims; authentication in Controller 2h - Authentication - Token with 10 Claims; authentication in Controller 2i - Authentication - Token without Claims; authentication in Method 2j - Authentication - Token with 1 Claim; authentication in Method 2k - Authentication - Token with 2 Claims; authentication in Method 2l - Authentication - Token with 3 Claims; authentication in Method 2m - Authentication - Token with 10 Claims; authentication in Method 3 - Web Api POST calls (with BODY parameter: Geometry of type 4326)     3a - No authentication (No OAuth2 relied server in the pipeline) 3b - No authentication (OAuth2 relied server in the pipeline; no authentication in the Controller) 3c - No authentication (OAuth2 relied server in the pipeline; no authentication in the Method) 3d - Authentication - Token without Claims; authentication in Controller 3e - Authentication - Token with 1 Claim; authentication in Controller 3f - Authentication - Token with 2 Claims; authentication in Controller 3g - Authentication - Token with 3 Claims; authentication in Controller 3h - Authentication - Token with 10 Claims; authentication in Controller 3i - Authentication - Token without Claims; authentication in Method 3j - Authentication - Token with 1 Claim; authentication in Method 3k - Authentication - Token with 2 Claims; authentication in Method 3l - Authentication - Token with 3 Claims; authentication in Method 3m - Authentication - Token with 10 Claims; authentication in Method Run each of these steps sequentially, for the time specified in [login to view URL], and with the quantity of Theads specified in appsettings.json. And for the quantity of elements to be executed within each step, specified in appsettings.json. Measure the time of execution for each step, as well as the quantity of executed calls, and show this results data on the screen. The purpose of this Utility is to determine how much performance impact the OAuth2 Token Authorization has, and also how much performance impact the OAuth2 Token authentication takes on Web Api Core 2.1 Controllers. Also, to measure how performant Web Api Core 2.1 is in different scenarios, including non-aurhenticated and authenticated. DELIVERABLE: Visual Studio 2017 Solution with 2 projects in DotNet Core 2.1, being one with a test Web Api and one with the benchmark utility. BUDGET: US$ 30 maximum. Please type in beluga in your response to show that you read all these requirements. Thanks for bidding. Regards.
Project ID: 17734427

About the project

Remote project
Active 6 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

About the client

Flag of BRAZIL
São Paulo, Brazil
5.0
14
Payment method verified
Member since Sep 29, 2015

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.