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

/

Back-end

Testing backend application performance

This course will provide you with the basic knowledge to perform performance testing and improve the APIs of your own backend applications.

(4.9) 47 reviews

771 learners

  • foo
3시간 만에 완강할 수 있는 강의 ⏰
artillery
성능
stress-testing

Reviews from Early Learners

What you will learn!

  • API Performance Testing

  • CS knowledge required for performance testing

I created an API, but do you know how well it performs?

When I think about what's changed most about my work before and after I started developing, it's the way I measure and improve the performance of the applications I've created. When I developed applications on my own, performance wasn't usually an issue because there were only a few users or I was the only one using them. However, in the real world, we deal with a lot of data and generate a lot of traffic, so performance testing became essential.

Even if the functionality is functional, an application with poor performance can ultimately become a point of failure for the entire system and create a poor user experience. After all, no one wants to use a service that takes tens of seconds to load a single list.

This lecture covers how to performance test backend applications to prevent these issues. We'll begin with a background in performance testing, conduct actual performance tests using a performance testing tool called Artillery, and demonstrate a simple performance improvement experience.

In fact, improving performance after performance testing is never simple. It may require streamlining application logic, tuning database queries, or even revising the system design itself. However, all these improvements begin with measuring performance. In this lecture, I hope you'll learn how to measure the performance of your backend applications and then gradually develop ways to improve them. I'll also be developing a future lecture on performance improvement.

Performance test scripts written in class

Example of performance test results

Learn about these things

Background knowledge required for performance testing

This section covers the essentials of performance testing. Starting with latency and throughput, we'll cover the operating system, server resources, network, and database resources you should consider when conducting performance tests.

How to Use Performance Testing Tools

We'll cover how to use a performance testing tool called Artillery . We'll cover how to conduct performance tests, interpret the results, and how to set up scenarios and change parameters to test performance, just like in real-world scenarios.

Simple performance improvement experience

We'll first run performance tests, then refine the same behavior to achieve better performance. Then, we'll figure out why this behavior can be improved.

Things to note before taking the course

Practice environment

  • Operating System and Version (OS): Windows 10

  • Tools used: Intellij Community 2023.2, JDK 17, Node.js 20

Learning Materials

Player Knowledge and Precautions

  • You should have experience developing backend applications. While the examples are written in Java, you should be able to understand the course content without any prior knowledge of Java. If you have any questions about the course content due to your lack of Java knowledge, please leave a comment. :)

  • This lecture will explain the fundamental concepts necessary for performance testing and improvement and provide guidance on how to get started with performance testing. Specific methods for improving performance will be covered in a later lecture.

  • If you have any questions while taking the course, please leave a question. I'll update the information if necessary.

Recommended for
these people

Who is this course right for?

  • People who have created backend applications but have never performed performance tests

  • I've heard that performance testing is needed before service launch, but I don't know where to start.

Need to know before starting?

  • Experience in building backend applications

  • Basic knowledge of Java (not required)

Hello
This is

5,196

Learners

220

Reviews

104

Answers

4.9

Rating

9

Courses

안녕하세요.

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

잘 부탁 드리겠습니다.


이력

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

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

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

 

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

 

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

GitHub - https://github.com/lleellee0

Curriculum

All

19 lectures ∙ (2hr 53min)

Published: 
Last updated: 

Reviews

All

47 reviews

4.9

47 reviews

  • 채종훈님의 프로필 이미지
    채종훈

    Reviews 7

    Average Rating 5.0

    5

    78% enrolled

    이 강의는 대규모 트래픽을 경험하고 싶어도 경험할 길이 없는 사람들에게 한 줄기 빛과 같은 강의입니다. 도대체 서비스기업에서 중요시한다는 대규모 트래픽 처리 경험이 뭔데? 라던지 그걸 서비스기업 가야 체험할수 있는데 서비스기업에 가려면 그걸 알아야 한다 나같은 신입은 어쩌라는거냐 라는 생각을 하고 계신 분들에게 적합한 강의라고 생각합니다. 현재 아틸러리 도큐먼트대로 하면 제공되지 않는 일부 기능들을 볼 수 있도록 세팅해놓은 강의라 더 좋다고 생각합니다. 며칠전 모 기업 셀장이라는 분이 너무 레거시에만 통달하신 나머지 팀원들을 모아놓고 트래픽 테스트를 한답시고 지금부터 f5 눌러서 새로고침 하세요! 라고 했다던 일화가 생각나는데 스트레스 테스트 개념이 없는 경력자들까지 아우를 수 있는 강의라고 생각해서 추천합니다.

    • 이준형(Foo)
      Instructor

      채종훈님 구체적인 수강평 감사합니다!! 어떤 분들에게 강의가 필요한지 강의 소개페이지 보다 더 잘 어필해주신 것 같네요 ㅎㅎ

  • 전자파차단님의 프로필 이미지
    전자파차단

    Reviews 19

    Average Rating 5.0

    5

    32% enrolled

    신규 프로젝트에 앞서 기술검토 과정중에 nGrinder나 JMeter를 별도로 구축하지않고 빠르게 성능테스트를 할 수 있었습니다. 테스트 인프라 구축 시간을 벌었네요.

    • 이준형(Foo)
      Instructor

      파프리카맨님 수강평 남겨주셔서 감사합니다. :) 말씀해주신대로 artillery는 가장 간단하게 성능 테스트를 해볼 수 있다는 것에 강점이 있는 것 같습니다.

  • 맹수호빵님의 프로필 이미지
    맹수호빵

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    실제로 개인 프로젝트를 진행하고 있습니다. 강의 초반에 강사님이 말씀하신 것처럼 'API를 만들긴 했는데, 내 API가 어느 정도의 성능을 낼 수 있는지'에 대한 의구심을 가지고 있었습니다. 그래서 더욱 이번 강의가 와닿았고, 해당 강의를 통해 성능 테스트에 대한 첫 발걸음을 쉽게 뗄 수 있었던것 같습니다! 그리고 단순히 이력서 등에 '성능'이라는 모호한 단어만 썼는데 더 구체적인 '지연 시간', '처리량' 이라고 말하는게 더 개발자스럽다 라는 것도 깨달았습니다! 또 운영체제에 관한 지식도 빠르게 복습할 수 있어서 좋았고, 중간중간 나긋하게 팩폭+뼈를 때려주시는 조언(?)들을 해주셔서 더욱 자극이 되었던 것 같습니다 ㅎㅎ

    • 이준형(Foo)
      Instructor

      맹수호빵님 생생한 수강평 감사합니다. :) 제가 강의로 전달드리고 싶은 내용들 잘 학습하신 것 같습니다! 진행하고 계신 개인 프로젝트에 잘 적용해보셨으면 좋겠네요~! 더 좋은 강의로 찾아 뵙겠습니다. (_ _)

  • Jang Jaehoon님의 프로필 이미지
    Jang Jaehoon

    Reviews 495

    Average Rating 4.8

    5

    16% enrolled

    좋은 강의 감사합니다! 헌데 소리가 굉장히 작은 듯 합니다. 그 점이 좀 불편한 데, 소리를 훨씬 크게 조정 가능하신지요??

    • 이준형(Foo)
      Instructor

      Jang Jaehoon님 수강평 남겨주셔서 감사합니다~ 제가 이번주말 안으로 소리 키워서 다시 업로드 하겠습니다! 수강에 불편드려서 죄송합니다. (_ _)

    • 정말 감사합니다! 수업 내용은 정말 좋은 내용 같습니다!

    • 이준형(Foo)
      Instructor

      감사합니다. :) 영상 볼륨은 키워서 다시 업로드 해놨습니다! 확인해보시고, 연휴 잘 보내세요~!

  • 잉여인간님의 프로필 이미지
    잉여인간

    Reviews 43

    Average Rating 5.0

    5

    100% enrolled

    많은 분량의 강의는 아니지만 성능 테스트에 대해 쉽게 이해할 수 있도록 도와줍니다. 스스로 성능 테스트를 공부할 수 있게 기본기를 만들어 줍니다.

    $23.10

    foo's other courses

    Check out other courses by the instructor!