강의

멘토링

로드맵

BEST
Programming

/

Back-end

バックエンドアプリケーションのパフォーマンスをテストする

このレッスンでは、作成したバックエンドアプリケーションのAPIをパフォーマンステストして改善するための基礎知識を得ることができます。

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

学習した受講者のレビュー

こんなことが学べます

  • APIパフォーマンステスト

  • 性能試験に必要なCS知識

APIは作成しましたが、私が作成したAPIのパフォーマンスはどうか知っていますか?

私が実務で開発する前と後に大きく変わった部分を考えてみると、私が作ったアプリケーションの性能を測定し、パフォーマンスを改善する部分が変わったようです。単独でアプリケーションを作成すると、ユーザーが少ないか単独で使用するため、ほとんどのパフォーマンスが問題になりませんでした。しかし、実務では多くのデータを扱い、多くのトラフィックが発生するため、パフォーマンステストは不可欠でした。

機能がうまく動作しても悪いパフォーマンスを示すアプリケーションは、最終的にシステム全体の障害点になることもあり、それ自体でもユーザーにサービスの悪い経験を作ることになります。リスト一つ浮かぶのに数十秒ずつ浮かぶサービスを使いたくないからです。

このレッスンでは、これが起こらないようにバックエンドアプリケーションをパフォーマンステストする方法について説明します。パフォーマンステストの背景知識から始めて、Artilleryというパフォーマンステストツールを使って実際のパフォーマンステストを進め、簡単なパフォーマンス改善の経験をお見せします。

実際、パフォーマンステスト後にパフォーマンスを改善することは決して簡単ではありません。アプリケーションロジックを効率的に置き換える必要がある場合、データベースクエリをチューニングする必要がある場合、またはシステム設計自体を変更する必要があります。しかし、これらの改善はすべてパフォーマンスを測定することから始まります。このレッスンで、まずバックエンドアプリケーションのパフォーマンスを測定する方法を学び、改善する方法を一つずつ記入してください。パフォーマンス改善に関する内容も今後講義で製作いたします。

講義で作成するパフォーマンステストスクリプト

性能テスト結果の例

このようなことを学びます。

パフォーマンステストに必要な背景知識

パフォーマンステストの重要な内容が含まれています。遅延時間(Latency)とスループット(Throughput)をはじめ、オペレーティングシステムやサーバーリソース、ネットワーク、データベースなどのパフォーマンステストを進める際に考慮すべき内容についてお知らせします。

パフォーマンステストツールの使い方

Artilleryというパフォーマンステストツールの使い方についてお知らせします。パフォーマンステストを実行し、パフォーマンステストの結果を解釈する方法と、実務のようにいくつかのシナリオを設定し、パラメータを変更しながらパフォーマンステストする方法を学びます。

簡単なパフォーマンス改善の経験

パフォーマンステストを先に進んでみて、同じ動作をしますが、より良いパフォーマンスを出すように改善してみます。そして、何らかの理由で同じ動作をしますが、より良いパフォーマンスが得られるかどうかを調べます。

受講前の注意

練習環境

  • オペレーティングシステムとバージョン(OS): Windows 10

  • 使用ツール: Intellij Community 2023.2, JDK 17, Node.js 20

学習資料

選手の知識と注意事項

  • バックエンドアプリケーションを作成した経験があるはずです。例はJavaになっていますが、Javaを知らなくても講義の内容を理解するのに問題ないでしょう。もしJavaを知らない方が講義内容の理解に問題がある場合は、質問を残してください。 :)

  • パフォーマンステスト/改善に必要な基本的な概念を説明し、パフォーマンステストをどのように開始できるかを伝えたい講義です。具体的にどのようにパフォーマンスを改善できるかについては後で他の講義で取り上げる予定です。

  • 受講中に質問がある場合は、質問を残してください。更新する必要がある場合は、更新します。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • バックエンドアプリケーションは作成しましたが、パフォーマンステストはしたことがない人

  • サービスをオープンする前にパフォーマンステストが必要だという話を聞きましたが、どこから始めるべきかわからない人

前提知識、
必要でしょうか?

  • バックエンドアプリケーションの作成経験

  • Javaの基本知識(必須X)

こんにちは
です。

5,399

受講生

244

受講レビュー

111

回答

4.9

講座評価

9

講座

안녕하세요.

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

잘 부탁 드리겠습니다.


이력

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

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

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

 

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

 

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

GitHub - https://github.com/lleellee0

カリキュラム

全体

19件 ∙ (2時間 53分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

49件

4.9

49件の受講レビュー

  • perfectgame님의 프로필 이미지
    perfectgame

    受講レビュー 7

    平均評価 5.0

    5

    78% 受講後に作成

    このレッスンは、大規模なトラフィックを経験したい場合でも経験することができない人にとって、1つの幹光のようなレッスンです。 一体サービス企業で重要視するという大規模なトラフィック処理経験は何ですか? とか、それをサービス企業に行ってこそ体験できるが、サービス企業に行くにはそれを知らなければならない。 私のような新入はどうなのかという考えをしておられる方々に適した講義だと思います。 現在、アーティラリー書類通りにすれば、提供されていない一部の機能を見ることができるように設定しておいた講義だと良いと思います。 数日前、親企業セル長という方がレガシーだけに通達していた残りのチームメンバーたちを集めておき、トラフィックテストを一気にして、今からf5押してリフレッシュしてください! ストレステストの概念がないキャリアまでまで交わせる講義だと思ってオススメです。

    • foo
      知識共有者

      チェ・ジョンフン様具体的な受講評ありがとうございます! どんな方に講義が必要なのか講義紹介ページよりももっとアピールしてくれたようですねㅎㅎ

  • blockelectronicwave님의 프로필 이미지
    blockelectronicwave

    受講レビュー 19

    平均評価 5.0

    5

    32% 受講後に作成

    新規プロジェクトに先立ち、技術検討過程中にnGrinderやJMeterを別途構築することなく、すばやくパフォーマンステストができました。テストインフラ構築時間を稼ぎましたね。

    • foo
      知識共有者

      パプリカマンの受講評を残してくれてありがとう。 :) あなたが言ったように、artilleryは最も簡単にパフォーマンステストをすることができることに強みがあるようです。

  • sjun2918님의 프로필 이미지
    sjun2918

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    実際に個人プロジェクトを進めています。 講義の序盤に講師様がおっしゃったように 'API を作ったのですが、私の API がどの程度の性能を出すことができるか' について疑問を持っていました。 だからさらに今回の講義が届き、その講義を通じてパフォーマンステストへの最初の一歩を簡単に離せたようです! そして単に履歴書などに'パフォーマンス'というあいまいな単語だけを書いたが、より具体的な'遅延時間'、'処理量'と言うのがもっと開発者らしいということも悟りました! また、オペレーティングシステムに関する知識も素早く復習できて良かったし、中途半端にパック幅+骨を殴ってくださるアドバイス(?)をしてくださり、さらに刺激になったようですㅎㅎ

    • foo
      知識共有者

      猛獣パンの鮮やかな受講坪ありがとうございます。 私が講義でお届けしたい内容をよく学んだようです! 進めている個人プロジェクトにうまく適用してほしいですね~! より良い講義で探してみましょう(_ _)

  • jjhgwx님의 프로필 이미지
    jjhgwx

    受講レビュー 585

    平均評価 4.9

    5

    16% 受講後に作成

    良い講義ありがとうございます!ところで音がとても小さいようです。その点が少し不便なのですが、音をもっと大きく調整していただくことは可能でしょうか??

    • foo
      知識共有者

      Jang Jaehoon様、受講レビューをいただきありがとうございます〜 今週末までに音量を上げて再アップロードいたします! 受講にご不便をおかけして申し訳ございません。(_ _)

    • 本当にありがとうございます!授業内容は本当に良い内容のようですね!

    • foo
      知識共有者

      ありがとうございます。:) 動画の音量を上げて再アップロードしました!確認してみてください、連休をお過ごしください〜!

  • javython님의 프로필 이미지
    javython

    受講レビュー 44

    平均評価 5.0

    5

    100% 受講後に作成

    量の多い講義ではありませんが パフォーマンステストについて簡単に理解できるよう手助けします。 自らパフォーマンステストを学べるように、基礎を築いてくれます。

    期間限定セール、あと2日日で終了

    ¥2,748

    23%

    ¥3,606

    fooの他の講座

    知識共有者の他の講座を見てみましょう!