4
SpringクラウドZuulのドキュメントを読んだ後、私はSEMAPHORE分離と約2の最大同時リクエストで、Zuulサーバーが約5000 rpsを簡単に処理できることを理解しました。約2000の値で、Jmeterからサービスを呼び出そうとしたときに、次の例外がスローされ、エラー率が100%になっています。セマフォを取得できませんでした - Zuul Configuration
com.netflix.hystrix.exception.HystrixRuntimeException:
Service1 could not acquire a semaphore for execution and no fallback available.
は、その後、私は200000への最大同時要求の数をぶつけてきたが、まだそれが例外をスローだが、エラー率が10%にダウンしました。 この理由をお知らせください。これは、遅いマイクロサービスやSpringクラウドZuulの設定上の問題のためですか?次は設定です:いくつかのテストの後
ribbon:
ConnectTimeout: 20000000
ReadTimeout: 20000000
MaxTotalHttpConnections: 5000
MaxHttpConnectionsPerHost: 5000
ActiveConnectionsLimit: 4000
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 20000000
zuul.hystrix.command.default.execution.isolation.strategy: SEMAPHORE
zuul.hystrix.command.default.execution.isolation.semaphore.maxConcurrentRequests: 2000
zuul.hystrix.command.default.fallback.isolation.semaphore.maxConcurrentRequests: 2000
zuul.eureka.default.semaphore.maxSemaphores: 30000
私はどのzuulバージョンをテストしたのですか? @Mavlarn – Joey
spring cloudバージョンCamden.SR2とnetflix zuulバージョン1.3.0 – Mavlarn
はい、私たちはzuul 1.1.2を使用しています。なぜそれが動作しないのですか?私はコードをチェックして、それ以降のバージョンの拡張機能があります。 – Joey