---
schema_version: "1"
id: 9ff6d77722c761027de66e254bd018b1fa5e9a266b8f9ba27cebd6706df550fb
title: "Mule 4 の概要: 実行エンジンのスレッドと同時実行"
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.6/intro-engine.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.6/intro-engine
source_site: docs.mulesoft.com
content_type: documentation
content_hash: f0dce9e90ac3505b072b2b5e4d83c798d5c6b2140f9e194f8696623139bcb064
description: MuleSoft Documentation Site
release: "4.6"
latest: false
---
# Mule 4 の概要: 実行エンジンのスレッドと同時実行

Mule 4 では実行エンジンが改良され、Mule アプリケーションを簡単に開発および拡張できるようになりました。根幹的なエンジンは、非ブロック型のリアクティブアーキテクチャに基づきます。このタスク指向の実行モデルでは、非ブロック IO コールを活用して、処理方式の不適切な設定に起因するパフォーマンスの問題を回避できます。

開発面では、いくつかの大きな変更が行われています。

- エクスチェンジパターンが廃止されました。どのコネクタも応答を受信します。メッセージを非同期処理する場合は、非同期コンポーネントを使用します。
- どのフローでも常に非ブロック処理方式が使用されるため、今後は処理方式を設定する必要がありません。
- すべてのフローを対象とする 1 つのグローバルスレッドプールがあります。詳細は、​[「実行エンジン」](https://docs.mulesoft.com/jp/mule-runtime/4.6/execution-engine)​を参照してください。

## [](#controlling_concurrency)同時実行の制御

Mule 4 では、スレッド設定が同時実行管理から切り離されています。フロー上、または同時実行をサポートするコンポーネント上の同時実行を制御するには、​`maxConcurrency`​ 属性を使用して、そのコンポーネントが任意の時点で受信できる同時呼び出し数を設定します。

```xml
<flow maxConcurrency=“1”>
  <http:listener>
  <scatter-gather maxConcurrency=“3”>
    <route/>
    <route/>
  </scatter-gather>
</flow>
```

## [](#thread_pools_and_tuning)スレッドプールとアプリケーションの調整

Mule 4.3 以降では、Mule に UBER プールと呼ばれる一意のスレッドプールが 1 つ含まれています。このスレッドプールは Mule によって管理され、同じ Mule インスタンス内のすべてのアプリケーションで共有されます。Mule は、起動時にシステム内で使用可能なリソース (メモリや CPU コアなど) を調査し、Mule が実行されている環境に合わせて自動的に調整します。このアルゴリズムはパフォーマンステストによって確立されたもので、ほとんどの状況で最適な値になっています。

1 つのスレッドプールを使用することで Mule の効率が向上し、Mule 3 に比べて、同じ量のワークロードを処理するために必要なスレッド数 (およびそれに伴うメモリフットプリント) が大幅に削減されました。

Mule イベントプロセッサーは、CPU Intensive (CPU 負荷大)、CPU Light (CPU 負荷小)、IO Intensive (IO 負荷大) のいずれの操作を行うかを Mule に示します。これらのワークロード種別によって、Mule はさまざまなワークロードを調整することができ、最適なパフォーマンスを実現するためにユーザーがスレッドプールを手動で管理する必要がなくなります。Mule は、システム内で使用可能なリソース (メモリや CPU コアなど) を調査し、スレッドプールを自動的に調整します。

新しいスレッドモデルおよびアップグレード手順についての詳細は、​[「実行エンジン」](https://docs.mulesoft.com/jp/mule-runtime/4.6/execution-engine)​を参照してください。

## [](#mule-4-24-1-からのアップグレード)Mule 4.2/4.1 からのアップグレード

Mule 4.2.x または 4.1.x から Mule 4.3.x 以降にアップグレードする場合は、次のアクションを実行します。

- 適用されるカスタムスレッド設定がない場合 (​`scheduler-pools.conf`​ ファイルを使用、または Mule アプリケーションで直接)、アクションは必要ありません。
- 適用されるカスタムスレッド設定がある場合、デフォルト設定を使用して Mule アプリケーションをテストします。  
    UBER プール戦略をはじめとする Mule 4.3 で実装されたパフォーマンス更新のために、カスタムスレッド設定が不要な場合もあります。
- テストでカスタム設定がまだ必要であることが確認された場合は、アプリケーションのリソース管理、いずれかのアプリケーション連動関係、または Mule インスタンスに問題があることが考えられます。カスタム設定を使用すると、リソースの使用が不十分になる場合があり、基盤となる問題が見えてこないこともあります。