Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Back-end

Cải thiện hiệu suất ứng dụng phụ trợ - Khái niệm cơ bản

Đây là bài giảng tiếp theo về 'Kiểm tra hiệu suất ứng dụng back-end' và là bài giảng sẽ đặt nền tảng cho việc cải thiện hiệu suất của ứng dụng back-end mà bạn đã tạo.

(4.8) 8 đánh giá

312 học viên

  • foo
3시간 만에 완강할 수 있는 강의 ⏰
성능측정
stress-testing
artillery
cache
performance-tuning
asynchronous-programming

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Kiểm tra hiệu suất API

  • Tại sao tài nguyên máy chủ ảnh hưởng đến hiệu suất và cách cải thiện

  • Cải thiện hiệu suất bằng cách sử dụng tính năng không đồng bộ

  • Cách tạo khóa duy nhất không cần kiểm tra trùng lặp bằng Snowflake

  • Cải thiện hiệu suất truy vấn bằng cách sử dụng chỉ mục và bộ đệm

Nếu bạn đã thực hiện một bài kiểm tra hiệu suất,
Lần này, chúng ta nên cố gắng cải thiện hiệu suất, đúng không?


Như đã hứa trong bài giảng về kiểm tra hiệu suất lần trước, chúng tôi trở lại với bài giảng về cải thiện hiệu suất 🤗


Thay đổi lớn nhất tôi trải nghiệm kể từ khi bắt đầu làm việc nhóm, trái ngược với khi tôi phát triển một mình, là việc đo lường và cải thiện hiệu suất. Khi tôi tự phát triển ứng dụng, số lượng người dùng ít đồng nghĩa với việc hiệu suất không phải là vấn đề lớn. Tuy nhiên, khi chúng tôi xử lý nhiều dữ liệu hơn và lưu lượng truy cập tăng lên, tôi nhận ra rằng việc kiểm thử hiệu suất là điều cần thiết . Ngay cả khi một tính năng hoạt động tốt, hiệu suất kém có thể dễ dàng trở thành điểm lỗi cho toàn bộ hệ thống, ảnh hưởng đáng kể đến trải nghiệm người dùng.

Bài giảng này đề cập đến việc kiểm tra hiệu suất để giải quyết các vấn đề này và cách cải thiện logic của API cho phù hợp . Lấy dịch vụ URL rút gọn làm ví dụ, chúng tôi đã chuẩn bị một phương pháp dễ hiểu để dần dần cải thiện hiệu suất ứng dụng backend của bạn.

Trước tiên, chúng ta sẽ xem xét mã cơ bản của ứng dụng URL rút gọn và triển khai nó lên máy chủ. Chúng ta sẽ đo lường hiệu suất của các API tạo và truy vấn, khám phá các cải tiến hiệu suất tiềm năng và triển khai từng phương pháp cải thiện hiệu suất.

Đối với API tạo, hiệu suất có thể được cải thiện bằng cách tăng số luồng xử lý yêu cầu, tăng kích thước máy chủ và tách biệt phản hồi và tạo. Tìm hiểu cách xử lý bất đồng bộ và thuật toán bông tuyết có thể cải thiện đáng kể hiệu suất của API tạo.

Để cải thiện hiệu suất của API truy vấn, chúng tôi sẽ đề cập đến các phương pháp như thêm chỉ mục cơ sở dữ liệu, sử dụng bộ đệm và tận dụng cửa sổ. Thông qua thực hành, bạn sẽ học cách cải thiện đáng kể hiệu suất truy vấn.


Phân tích logic cụ thể của API để đưa ra biện pháp cải thiện hiệu suất.


Loại bỏ logic kiểm tra khóa URL trùng lặp bằng Snowflake


Trình bày các kế hoạch cải thiện hiệu suất từng bước và xác nhận kết quả kiểm tra hiệu suất


Tìm hiểu về những điều này

1⃣ Cách cải thiện hiệu suất bằng cách tăng tài nguyên máy chủ

Có nhiều tài nguyên khác nhau trong máy chủ ứng dụng ảnh hưởng đến hiệu suất. Chúng bao gồm từ tài nguyên vật lý như CPU, bộ nhớ và ổ đĩa đến tài nguyên phần mềm như luồng và kết nối. Tất cả những tài nguyên này cuối cùng đều ảnh hưởng đến hiệu suất. Bài giảng này sẽ khám phá cách các tài nguyên máy chủ này ảnh hưởng đến hiệu suất và cách cải thiện nó.

2⃣ Giảm độ trễ bằng cách sử dụng tính không đồng bộ

Hiệu suất của một ứng dụng được cảm nhận bởi máy khách, tức người dùng API, cuối cùng được xác định bởi độ trễ, tức thời gian cần thiết để phản hồi một yêu cầu. Cuối cùng, nếu máy khách nhận được phản hồi nhanh hơn cho cùng một tác vụ, hiệu suất của API sẽ được đánh giá là tốt hơn. Tuy nhiên, nếu máy khách không phải là người dùng thực sự mà là một máy chủ khác, điều này sẽ ảnh hưởng đến hiệu suất tổng thể của hệ thống. Hãy cùng khám phá các phương pháp nâng cao hiệu suất tận dụng tính bất đồng bộ để cải thiện khía cạnh này.

3⃣ Cải thiện hiệu suất truy vấn bằng cách sử dụng chỉ mục và bộ đệm

Khi thảo luận về hiệu suất truy vấn, chỉ mục và bộ nhớ đệm (cache) chắc chắn được đề cập. Chỉ mục chủ yếu được xử lý ở cấp cơ sở dữ liệu, trong khi bộ nhớ đệm tồn tại dưới nhiều hình thức khác nhau, bao gồm bộ nhớ đệm trong ứng dụng và bộ nhớ đệm dùng chung. Mặc dù bài giảng này không đi sâu vào chi tiết cụ thể của chỉ mục và bộ nhớ đệm, nhưng nó chứng minh sự hiện diện của chúng có thể ảnh hưởng đáng kể đến hiệu suất API như thế nào.

4⃣ Cải thiện hiệu suất truy vấn cập nhật bằng cách sử dụng Windowing

Khi các truy vấn cập nhật nhắm mục tiêu đến cùng một bản ghi được thực thi liên tục, việc khóa bản ghi có thể gây ra sự suy giảm hiệu suất nghiêm trọng. Hiện tượng này thường được gọi là "điểm nóng". Mặc dù có nhiều cách để cải thiện hiệu suất bằng cách giải quyết vấn đề điểm nóng, chúng tôi sẽ giải quyết vấn đề này thông qua cơ chế cửa sổ, một phương pháp phù hợp để tăng số lượng chuyển hướng của một URL đã rút gọn.

*) Nội dung được trình bày trong bài giảng gần giống với xử lý hàng loạt, nhưng có cùng ý tưởng với windowing. Nếu bạn thay đổi nó để tận dụng Kafka, bạn có thể dễ dàng chuyển đổi nó sang windowing.

Những điều cần lưu ý trước khi tham gia khóa học

Môi trường thực hành

  • Hệ điều hành và Phiên bản (OS): Windows 10,

  • Công cụ được sử dụng: Intellij Community 2023.2, Google Chrome


Tài liệu học tập

Kiến thức và biện pháp phòng ngừa của người chơi

  • Chúng tôi sử dụng Vultr cho dịch vụ đám mây của mình, nhưng bạn cũng có thể sử dụng các dịch vụ đám mây khác như AWS hoặc GCP. Tuy nhiên, sẽ có một số khác biệt, chẳng hạn như cài đặt tường lửa, khi sử dụng các dịch vụ đám mây khác. Tuy nhiên, tôi tin rằng bạn sẽ hiểu rõ hơn nếu tự mình tìm hiểu và trải nghiệm những vấn đề này.

  • Chúng tôi đang tiến hành kiểm tra hiệu năng bằng Artillery, công cụ mà chúng tôi đã sử dụng trong bài giảng kiểm tra hiệu năng trước. Kiểm tra hiệu năng bằng nGrinder được mô tả ngắn gọn trong phần phụ lục.

  • Nếu bạn có bất kỳ thắc mắc nào trong quá trình học, vui lòng để lại câu hỏi. Tôi sẽ cập nhật thông tin nếu cần thiết.


Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những người đã tham gia khóa học trước, 'Kiểm tra hiệu suất ứng dụng phụ trợ'

  • Bất kỳ ai muốn tìm hiểu về các phương pháp thường được sử dụng để cải thiện hiệu suất API

Cần biết trước khi bắt đầu?

  • Kinh nghiệm phát triển ứng dụng backend

  • Quan tâm hoặc có kinh nghiệm kiểm tra hiệu suất

Xin chào
Đây là

5,210

Học viên

221

Đánh giá

104

Trả lời

4.9

Xếp hạng

9

Các khóa học

안녕하세요.

멘토링을 하면서 주니어 개발자들이 어려워 하는 개념들에 대해 어떻게 하면 쉽게 전달할 수 있을지에 대해서 많은 고민을 하고 있는 푸(Foo)라고 합니다.

잘 부탁 드리겠습니다.


이력

  • 2019. 08 ~ 현재 : 카카오 자바 백엔드 개발자

  • 2021. 08 ~ 현재 : programmers 백엔드 데브코스 멘토

  • 2021. 12 ~ 현재 : F-Lab 자바 백엔드 멘토

 

  • 이것이 취업을 위한 백엔드 개발이다 with 자바(링크)

 

기타 이력 및 타 플랫폼 강의들은 아래 GitHub 링크에서 확인할 수 있습니다.

GitHub - https://github.com/lleellee0

Chương trình giảng dạy

Tất cả

17 bài giảng ∙ (2giờ 39phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

8 đánh giá

4.8

8 đánh giá

  • fain9301님의 프로필 이미지
    fain9301

    Đánh giá 93

    Đánh giá trung bình 4.8

    5

    100% đã tham gia

    Cảm ơn buổi học hay.

    • foo
      Giảng viên

      Anh/Chị Won Deok-hui đã rất vất vả để hoàn thành bài giảng!

  • shameless84649님의 프로필 이미지
    shameless84649

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Vì rất quan tâm đến cải thiện hiệu suất nên đã nghe buổi nói chuyện và rất hữu ích.

    • sasas님의 프로필 이미지
      sasas

      Đánh giá 49

      Đánh giá trung bình 4.9

      5

      100% đã tham gia

      • foo
        Giảng viên

        쿄큐큐님, cảm ơn bạn rất nhiều vì đã để lại đánh giá về khóa học!! Bạn đã vất vả rồi vì đã hoàn thành khóa học.

    • gihunkim9243님의 프로필 이미지
      gihunkim9243

      Đánh giá 1

      Đánh giá trung bình 4.0

      4

      100% đã tham gia

      • foo
        Giảng viên

        Cảm ơn gihun.kim đã để lại đánh giá! Cảm ơn bạn đã làm việc chăm chỉ trong sự kiên trì. (_ _)

    • hanumoka님의 프로필 이미지
      hanumoka

      Đánh giá 48

      Đánh giá trung bình 4.4

      4

      100% đã tham gia

      Tôi đang mong chờ bài giảng tiếp theo.

      • foo
        Giảng viên

        Cảm ơn bạn, hanumoka, đã để lại đánh giá. (_ _)

    835.769 ₫

    Khóa học khác của foo

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!