Service Fabric: ¿se retrasan las llamadas entre servicios?

Estamos trabajando en una aplicación de estructura de servicio compuesta por varios servicios diferentes, y una parte clave del funcionamiento de nuestra aplicación es que estos servicios deben llamarse entre sí en grandes volúmenes.

No hemos tenido problemas hasta hace poco cuando aumentamos la carga en nuestra aplicación y descubrimos que se desaceleró enormemente. Después de mucha investigación y cronometrando varias cosas, descubrimos que el problema parece ser que cuando hacemos muchas llamadas a un tipo de servicio (de las cuales tenemos varias instancias), las llamadas parecen ser un retraso entre nosotros al llamar al servicio , y el servicio realmente comienza a procesar la solicitud.

Estamos llamando entre servicios como lo describe Microsoftaquí

Para ser más claros: ServiceA obtiene una referencia a ServiceB, luego llama a ServiceB.GetResult (), registramos la hora en que se llama a este método en ServiceA, y lo primero que hacemos en GetResult () es registrar la hora en que comienza el procesamiento. Cuando no hay carga solo hay unos pocos ms, una vez que aumentamos la carga encontramos que hay un4-5 segundos retraso entre estos tiempos.

¿Es este algún tipo de límite en la estructura de servicio? Tenemos varias instancias de ServiceB y el uso de recursos en el clúster es esencialmente nada, la CPU oscila alrededor del 10% y el uso de memoria es de aproximadamente 1/4 en todos los nodos, pero el rendimiento del servicio es muy bajo porque está esperando aquí.

¿Por qué espera? ¿Existe algún tipo de límite definido sobre cómo las diferentes llamadas que un servicio puede manejar a la vez? ¿Hemos hecho algo mal con nuestra comunicación?

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta