
Quản lý log cần thiết cho nhà phát triển
foo
Nội dung đề cập đến toàn bộ chu kỳ từ việc bắt đầu xác định nên lưu lại những nhật ký (log) nào cho đến việc thu thập và sử dụng chúng.
Cơ bản
Elasticsearch, logback, Logstash
Đâ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.
361 học viên
Độ khó Trung cấp trở lên
Thời gian Không giới hạn


Đánh giá từ những học viên đầu tiên
5.0
fain9301
Cảm ơn buổi học hay.
5.0
shameless8
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.
5.0
dfdrdodm95
Tôi cảm thấy cấu trúc bài giảng rất tốt. Phương pháp truyền thống có nhược điểm là phải tái hiện lại mọi thứ trong video thông qua luyện tập, gây lãng phí thời gian không cần thiết và khó biết nên tập trung vào điều gì. Bài giảng này được cô đọng lại để tránh những bất tiện như vậy. Tôi hài lòng vì nội dung giải thích đầy đủ các từ khóa tôi mong muốn.
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
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.



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ó.

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.

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.

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.

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
Kho lưu trữ dự án mẫu: https://github.com/lleellee0/shorten-url-initial
Lệnh thực thi & mã nguồn: https://github.com/lleellee0/shorten-url-initial/issues
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.
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
Xác minh sự nghiệp
6,451
Học viên
362
Đánh giá
117
Trả lời
4.9
Xếp hạng
9
Các khóa học
Xin chào.
Tôi là Foo, một người luôn trăn trở về việc làm thế nào để có thể truyền đạt những khái niệm mà các lập trình viên cấp dưới (junior) cảm thấy khó khăn một cách dễ hiểu nhất trong quá trình cố vấn (mentoring).
Rất mong nhận được sự giúp đỡ của mọi người.
Lịch sử
08/2019 ~ Hiện tại : Nhà phát triển Java Backend tại Kakao
2021. 08 ~ hiện tại : Mentor khóa học Backend DevCourse tại programmers
2021. 12 ~ Hiện tại : Mentor Java Backend tại F-Lab
Sách
Đây là Phát triển Backend để xin việc với Java (Link)
Các lịch sử khác và bài giảng trên các nền tảng khác có thể được kiểm tra tại liên kết GitHub bên dưới.
GitHub - https://github.com/lleellee0
Tất cả
17 bài giảng ∙ (2giờ 39phút)
Tất cả
10 đánh giá
4.8
10 đánh giá
Đánh giá 1
∙
Đánh giá trung bình 5.0
Đánh giá 14
∙
Đánh giá trung bình 5.0
5
Tôi cảm thấy cấu trúc bài giảng rất tốt. Phương pháp truyền thống có nhược điểm là phải tái hiện lại mọi thứ trong video thông qua luyện tập, gây lãng phí thời gian không cần thiết và khó biết nên tập trung vào điều gì. Bài giảng này được cô đọng lại để tránh những bất tiện như vậy. Tôi hài lòng vì nội dung giải thích đầy đủ các từ khóa tôi mong muốn.
Cảm ơn bạn dfdrdodm95. (_ _) Như bạn đã nói, chúng tôi đang cố gắng truyền tải nội dung bài giảng một cách cô đọng nhất có thể. Chúng tôi sẽ tiếp tục tạo ra những bài giảng đáp ứng được mong đợi của dfdrdodm95.
Hãy khám phá các khóa học khác của giảng viên!
Khám phá các khóa học khác trong cùng lĩnh vực!