Ngày đăng 14/04/2024 | 06:14 PM

10 thủ thuật để tăng tốc độ ứng dụng .NET Core 3.x

Tốc độ cực kỳ quan trọng và nó là một nhân tố chính cho sự thành công của bất cứ ứng dụng web nào. ASP.NET Core 3 cung cấp một số các cải tiến để thu hồi bộ nhớ sử dụng và tối ưu nó. Trong bài viết này mình sẽ đưa ra 10 mẹo để giúp bạn tăng tốc ứng dụng ASP.NET Core 3 bằng cách làm những việc sau đây
Tốc độ cực kỳ quan trọng và nó là một nhân tố chính cho sự thành công của bất cứ ứng dụng web nào. ASP.NET Core 3 cung cấp một số các cải tiến để thu hồi bộ nhớ sử dụng và tối ưu nó. Trong bài viết này mình sẽ đưa ra 10 mẹo để giúp bạn tăng tốc ứng dụng ASP.NET Core 3 bằng cách làm những việc sau đây:
  • Tránh gọi đồng bộ mà nên sử dụng bất đồng bộ
  • Tối ưu hóa việc truy cập dữ liệu
  • Sử dụng các kỹ thuật caching
  • Sử dụng response caching middleware
  • Sử dụng thư viện làm việc với JSON mới
  • Giảm lượng HTTP request
  • Sử dụng exception khi thật cần thiết
  • Nén dung lượng response
  • Tối ưu việc sử dụng HttpContext
  • Tối ưu phía client
Tránh gọi đồng bộ mà nên sử dụng bất đồng bộ

Cố gắng tránh các lệnh gói đồng bộ (synchronous) khi phát triển ứng dụng ASP.NET Core 3. Lệnh gọi đồng bộ sẽ block các lệnh thực hiện sau nó cho đến khi nó xử lý xong. Khi lấy dữ liệu từ API hoặc thực hiện một tác vụ như là I/O (input/output) tốn thời gian thì nên xử lý nó theo cách bất đồng bộ.
Tránh dùng Task.Wait và Task.Result, và nên sử dụng từ khóa await.

Truy vấn bất đồng bộ

Truy vấn bất đồng bộ tránh việc bị  block một thread trong khi thực thi câu lệnh vào database. Truy vấn bất đồng bộ thì ưu tiên nhanh để có trải nghiệm người dùng tốt.
Ví dụ:
  • ToListAsync()
  • ToArrayAsync()
  • SingleAsync()
Tối ưu hóa việc truy cập dữ liệu

Tăng hiệu năng cho ứng dụng bằng việc tối ưu hóa việc truy cập dữ liệu. Hầu hết ứng dụng đều phụ thuộc cơ sở dữ liệu. Chúng phải lấy dữ liệu ra, xử lý sau đó hiển thị. Nếu nó chiếm nhiều  thời gian, ứng dụng sẽ phải tốn thêm time để chạy.

Đề xuất:
  • Truy cập toàn bộ bằng lệnh gọi bất đồng bộ
  • Chỉ lấy những gì cần thiết.
  • Nên sử dụng no-tracking queries trong Entity Framework Core khi lấy ra chỉ với mục đích read-only.
  • Sử dụng câu lệnh lọc và tổ hợp trong LINQ (với .Where, .Select, hay .Sum), đảm bảo rằng nó được thực thi trong database.
  • Bạn có thể tìm thấy các best practice trong tính năng mới của EF Core 3.0