タグ

ブックマーク / www.kimullaa.com (4)

  • Spring 非同期タスクの同時実行数を制限する

    課題Springには、非同期に処理を実行するための@Asyncアノテーションがある。 参考 7. Task Execution and Scheduling Spring @Asyncで非同期処理をするときの注意点 - SIerだけど技術やりたいブログwww.kimullaa.com デフォルトだとスレッド管理(TaskExecutor)にSimpleAsyncTaskExecutorが使われる。 このクラスは@Asyncの呼び出しごとにスレッドを生成し、またデフォルトでは、スレッド数の制限がない。 TaskExecutor implementation that fires up a new Thread for each task, executing it asynchronously. Supports limiting concurrent threads through the

    Spring 非同期タスクの同時実行数を制限する
  • Spring @Asyncで非同期処理をするときの注意点 - SIer だけど技術やりたいブログ

    @Asyncアノテーションとは 非同期に処理を実行できるようにする仕組み。 参考 7. Task Execution and Scheduling 参考 Spring MVC(+Spring Boot)上での非同期リクエストを理解する -前編- 簡単なサンプル pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> 非同期にする処理に@Asyncを付与する。(@Asyncはメソッド単位でもクラス単位でも付与できる) @Slf4j

    Spring @Asyncで非同期処理をするときの注意点 - SIer だけど技術やりたいブログ
  • Spring WebFlux の概要を理解する

    Spring WebFluxに関する、いまの理解を整理する。 Spring WebFlux 以前の問題点Tomcatは1リクエスト処理するのに1スレッドを割り当てる。リクエストが終わるまでスレッドは解放されないため、処理にブロッキングな部分があったとしてもスレッドを占有し続ける。 ネットワークI/O、外部サービス呼び出し、DBアクセスなどが典型的なブロッキング箇所で、例えば、低速なネットワークからのリクエストをひとたびreadすると、のんきにスレッドを占有してリクエストの到着を待つことになる。 このとき、同時に多くのリクエストを捌くためには多くのスレッドが必要になる。 Java ブロッキングとかノンブロッキングを理解したい - SIerだけど技術やりたいブログwww.kimullaa.com ただしスレッド生成には(少なくともスレッドごとに確保するスタック領域分の)メモリが必要。 参考:

    Spring WebFlux の概要を理解する
  • Linux procfs 徹底入門

    これは Linux Advent Calendar 2019の 15 日目の記事です。procfs について勉強したことをまとめます。 検証環境CentOS 8 を利用する。 ]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Tue Jun 4 09:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux procfs とは疑似ファイルシステムのひとつ。 ディスク上に実体は存在せず、メモリから情報を取得する。 カーネルだけが知っている情報 (例えばシステム全体のロードアベレージ/CPU負荷/メモリ利用状況や、プロセスごとの情報)が取得できる。

    Linux procfs 徹底入門
  • 1