現在、特定のインスタンスが新しいリクエストを受け入れることができるかどうかを判断するために、次の一連のルールが使用されています。
if processing more than N concurrent requests (today N=10): false
elif exceeding the soft memory limit: false
elif exceeding the instance class CPU limit: false
elif warming up: false
else true
以下の合計 CPU/コア制限は現在、各インスタンス クラスに適用されます。
CLASS 1: 600MHz 1 core
CLASS 2: 1.2GHz 1 core
CLASS 4: 2.4GHz 1 core
CLASS 8: 4.8GHz 2 core
B8
そのため、完全に CPU バインドされた最大 2 つのリクエストを並行して処理できるのはインスタンスだけです。
threadsafe: true
8 未満のインスタンス クラスに(Python) または(Java) を設定<threadsafe>true</threadsafe>
すると、1 つのインスタンスで複数の CPU バウンド リクエストを並行して処理することができなくなります。
完全に CPU バウンドまたは I/O を実行していない場合、Python および Java ランタイムは、最大 10 個の同時要求を処理するための新しいスレッドを生成します。threadsafe: true
また、Go ランタイムはシングル スレッドですが、同時リクエストをサポートしていることにも注意してください。リクエストごとに 1 つのゴルーチンを生成し、I/O の実行中にゴルーチン間で制御を譲ります。