実稼働環境で実行されている SignalR アプリケーションがあり、ここでコードを入力するRequests Current
値が 5000 を超え、503 Service Unavailable
エラーが表示されます。そこで、Aspnet.config を次のように更新してRequests Current
値を増やしました
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<system.web>
<applicationPool
maxConcurrentRequestsPerCPU="20000"
maxConcurrentThreadsPerCPU="20000"
requestQueueLimit="20000" />
</system.web>
<runtime>
<legacyUnhandledExceptionPolicy enabled="false" />
<legacyImpersonationPolicy enabled="true"/>
<alwaysFlowImpersonationPolicy enabled="false"/>
<SymbolReadingPolicy enabled="1" />
<shadowCopyVerifyByTimestamp enabled="true"/>
</runtime>
<startup useLegacyV2RuntimeActivationPolicy="true" />
</configuration>
ただし、Requests Current の値は 5000 を超えて増加する可能性があり、10,000 をわずかに超えると、サービスを利用できなくなります。キューに入れられたリクエストが少数 (100 未満) しか表示されないことがあります。
これを適切に動作させるには、他に何を構成する必要がありますか?
- アップデート -
0.5.2 を使用した後、Requests Current は安定しているように見えますが、これは大幅な改善です。このテストは 2 時間強実行されましたが、30 分も経たないうちに、req の電流は増加し続けます。
それでもメモリ消費量はいくらか増加しますが、おそらく Req's Current によるものではありません: