Find the Best Cosmetic Hospitals

Explore trusted cosmetic hospitals and make a confident choice for your transformation.

โ€œInvest in yourself โ€” your confidence is always worth it.โ€

Explore Cosmetic Hospitals

Start your journey today โ€” compare options in one place.

DOTNET: TLS & Its Versions impact on Performance

This will be a fun little lab. Letโ€™s make one self-contained Program.cs you can run from command line and flip between TLS 1.2 and TLS 1.3 without changing code.

Weโ€™ll also add a /metrics endpoint so you can see basic latency stats directly from the app.


1. One-page complete code (Program.cs)

Create a new minimal API:

dotnet new web -n TlsTlsDemoApi
cd TlsTlsDemoApi
Code language: JavaScript (javascript)

Now replace the entire contents of Program.cs with this:


2. How to run with TLS 1.2 vs TLS 1.3

๐Ÿ”น Windows PowerShell

Run with TLS 1.2:

$env:TLS_VERSION = "12"
dotnet run
Code language: PHP (php)

Youโ€™ll see:

Using: TLS 1.2
Listening on: https://localhost:5001
Code language: JavaScript (javascript)

Run with TLS 1.3:

Stop the app, then:

$env:TLS_VERSION = "13"
dotnet run
Code language: PHP (php)

Youโ€™ll see:

Using: TLS 1.3
Listening on: https://localhost:5001
Code language: JavaScript (javascript)

3. How to โ€œload testโ€ it quickly

You can use Postman, or just use curl loops from command line.

๐Ÿ”น Simple curl loop (Linux/macOS / Git Bash)

for i in {1..200}; do curl -k -s "https://localhost:5001/ping" > /dev/null; done
Code language: JavaScript (javascript)

๐Ÿ”น Simple PowerShell loop (Windows)

1..200 | ForEach-Object {
    curl -k -s "https://localhost:5001/ping" > $null
}
Code language: JavaScript (javascript)

Then check metrics:

curl -k "https://localhost:5001/metrics"
Code language: JavaScript (javascript)

Youโ€™ll see something like:

{
  "tls": "TLS 1.2",
  "totalRequests": 200,
  "averageDurationMs": 6.3,
  "maxDurationMs": 15.2
}
Code language: JSON / JSON with Comments (json)

Run again with TLS 1.3 and compare:

  • averageDurationMs
  • maxDurationMs

Under heavier load (larger loops, multiple clients), youโ€™ll see TLS 1.3 usually gives better latency and smoother max values, especially when handshake overhead matters (cold clients).


4. Where to see CPU / memory

You asked:

โ€œDo we have any way to see the load metrics in the code itself?โ€

We did that with /metrics (per-request latency). For CPU and memory, best is:

๐Ÿ”น Option A: dotnet-counters (recommended)

Find PID:

dotnet-counters ps

Then:

dotnet-counters monitor --process-id <PID> System.Runtime
Code language: HTML, XML (xml)

Watch:

  • cpu-usage
  • gc-heap-size
  • gen-0-gc-count etc.

Run your load loop and watch how TLS 1.2 vs 1.3 behaves.

๐Ÿ”น Option B: Task Manager

Just open Task Manager โ†’ Details โ†’ dotnet.exe, watch CPU and Memory while you hit /ping.


5. How to use this in your understanding

  1. Start with TLS 1.2 (TLS_VERSION=12).
  2. Run a curl/Postman loop, show /metrics.
  3. Show CPU/memory with dotnet-counters or Task Manager.
  4. Switch to TLS 1.3 (TLS_VERSION=13).
  5. Repeat same load โ†’ compare metrics.
  6. Explain:
    • Less handshake overhead
    • Better latency
    • Lower CPU under same load (especially when doing many short connections).

Find Trusted Cardiac Hospitals

Compare heart hospitals by city and services โ€” all in one place.

Explore Hospitals
I'm Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms. I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.

Related Posts

OWASP Dependency-Check โ€” 1-Hour Quick Demo Lab

Level: Beginner / Basic DevSecOpsDuration: 60 minutesFormat: Instructor-led hands-on demoFocus: Install โ†’ scan a real project โ†’ read findings โ†’ understand CVE/CVSS โ†’ generate reports โ†’ demonstrate a simple security gate…

Read More

OWASP Dependency-Checkย – Hands-On Lab Manual

OWASP Dependency-Check 13.0.0 Basic-to-Essentials Hands-On Lab Manual Audience: Beginners and engineers with basic DevOps/DevSecOps knowledgeTutorial verified/researched on: 2026-10-03OWASP Dependency-Check version: 13.0.0Minimum Java supported by Dependency-Check: Java 11Recommended lab Java runtime: Java 17…

Read More

Manufacturing automation: Is it worth investing in the field of manufacturing automation?

An investment in manufacturing automation can pay off. (Photo: Generated with the help of AI) Manufacturing automation has developed from a solution mainly associated with large factories…

Read More

How to Choose a Virtual Machine for Development and Production Workloads

Virtual machines remain a practical building block for development, testing, staging, production services, and infrastructure automation. The challenge is not simply choosing the largest instance available. It…

Read More

System Mechanic vs Advanced SystemCare for Small Teams Without an MDM

If you’re keeping a handful of Windows workstations or test machines healthy without a device-management platform, iolo’s System Mechanic is the better choice over IObit’s Advanced SystemCare…

Read More

How to Plan Infrastructure for a Community Project

Every thriving community project sits on top of infrastructure nobody notices, right up until it breaks. The forum. The server. The backups. The dull plumbing that holds…

Read More
Subscribe
Notify of
guest
2 Comments
Newest
Oldest Most Voted
Jason Mitchell
Jason Mitchell
10 months ago

Very helpful article โ€” this gives .NET developers a clear picture of why TLS version matters not just for security but for application performance too. Itโ€™s especially useful how you highlight that upgrading to modern protocols (like TLSโ€ฏ1.3 when available) reduces handshake latency, simplifies cipher negotiation, and reduces computational overhead โ€” all of which lead to faster, more efficient secure connections. Given how many applications rely on HTTPS or secure sockets, adopting TLS bestโ€‘practices in .NET (and letting the OS or runtime choose the latest TLS version rather than hardโ€‘coding older ones) is a smart, futureโ€‘proof move. Thanks for bringing that attention to TLS tuning for real-world .NET workloads. ๐Ÿ‘

Skylar Bennett
Skylar Bennett
10 months ago

This article does an excellent job of explaining how different versions of Transport Layer Security (TLS) impact the performance of .NET applications. It clearly shows why upgrading to a newer version โ€” especially TLS 1.3 โ€” is beneficial: it reduces handshake latency, simplifies cipher suites, and lowers computational overhead, all of which help web services run faster and more securely. The breakdown of how handshake rounds, encryption/decryption cost, and cipher selection affect throughput and responsiveness makes it particularly useful for developers tuning performance under load. In short, this post offers both a clear theoretical foundation and pragmatic guidance for improving security without sacrificing performance.

2
0
Would love your thoughts, please comment.x
()
x