mirror of
				https://github.com/ivanch/tcc.git
				synced 2025-10-31 01:17:37 +00:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			2390f8fb8d
			...
			09c7345e68
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 09c7345e68 | |||
| 258f3a0243 | |||
| 6f6a77f897 | 
| @@ -3,7 +3,7 @@ | ||||
| namespace TCC.Controllers | ||||
| { | ||||
|     [ApiController] | ||||
|     [Route("")] | ||||
|     [Route("status")] | ||||
|     public class StatusController : ControllerBase | ||||
|     { | ||||
|         public StatusController() { } | ||||
							
								
								
									
										20
									
								
								ASP.NET/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								ASP.NET/Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build-env | ||||
| WORKDIR /App | ||||
|  | ||||
| # Copy everything | ||||
| COPY * . | ||||
|  | ||||
| # Restore as distinct layers | ||||
| RUN dotnet restore | ||||
|  | ||||
| # Build a release | ||||
| RUN dotnet build -c Release -o out | ||||
|  | ||||
| # Build runtime image | ||||
| FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine | ||||
|  | ||||
| WORKDIR /App | ||||
|  | ||||
| COPY --from=build-env /App/out . | ||||
|  | ||||
| ENTRYPOINT ["dotnet", "/App/TCC.APP.dll"] | ||||
| @@ -1,4 +1,3 @@ | ||||
| using Microsoft.AspNetCore.Http.Features; | ||||
| using Microsoft.AspNetCore.Server.Kestrel.Core; | ||||
| using TCC.Services; | ||||
| 
 | ||||
| @@ -14,7 +14,7 @@ | ||||
|       "dotnetRunMessages": true, | ||||
|       "launchBrowser": false, | ||||
|       "launchUrl": "weatherforecast", | ||||
|       "applicationUrl": "http://localhost:5100", | ||||
|       "applicationUrl": "http://0.0.0.0:5100", | ||||
|       "environmentVariables": { | ||||
|         "ASPNETCORE_ENVIRONMENT": "Development" | ||||
|       } | ||||
							
								
								
									
										9
									
								
								ASP.NET/appsettings.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								ASP.NET/appsettings.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| { | ||||
|   "Logging": { | ||||
|     "LogLevel": { | ||||
|       "Default": "Trace", | ||||
|       "Microsoft.AspNetCore": "Trace" | ||||
|     } | ||||
|   }, | ||||
|   "AllowedHosts": "*" | ||||
| } | ||||
| @@ -1,9 +0,0 @@ | ||||
| { | ||||
|   "Logging": { | ||||
|     "LogLevel": { | ||||
|       "Default": "Information", | ||||
|       "Microsoft.AspNetCore": "Warning" | ||||
|     } | ||||
|   }, | ||||
|   "AllowedHosts": "*" | ||||
| } | ||||
							
								
								
									
										33
									
								
								scripts/testes.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								scripts/testes.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| import requests | ||||
| import concurrent.futures | ||||
| import time | ||||
|  | ||||
| URL_BASE = 'http://localhost:5100' | ||||
|  | ||||
| num_requests = [1000, 5000, 10_000, 50_000, 100_000, 500_000, 1_000_000] | ||||
|  | ||||
| def send_request(session, url): | ||||
|     response = session.get(url) | ||||
|     return response.status_code | ||||
|  | ||||
| def main(): | ||||
|     for num_request in num_requests: | ||||
|         with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor: | ||||
|             url = f'{URL_BASE}/status/ok' | ||||
|  | ||||
|             start_time = time.time() | ||||
|  | ||||
|             futures = [] | ||||
|             with requests.Session() as session: | ||||
|                 futures = [executor.submit(send_request, session, url) for _ in range(num_request)] | ||||
|  | ||||
|             concurrent.futures.wait(futures) | ||||
|  | ||||
|             elapsed_time = time.time() - start_time | ||||
|  | ||||
|             successful_responses = sum(1 for future in futures if future.result() == 200) | ||||
|  | ||||
|         print(f"All requests completed in {elapsed_time:.2f} seconds. {elapsed_time/num_request:.4f} seconds per request. {num_request/elapsed_time:.2f} requests per second.") | ||||
|         print(f"Successful responses: {successful_responses}/{num_request}") | ||||
|  | ||||
| main() | ||||
		Reference in New Issue
	
	Block a user