9

My client has an environment with SDL Web 8.1.1, with the delivery stack on Linux.

We are experiencing problems with the number of connections we make from our web application to the content microservice.

When the server is under heavy load, we make more than 50,000 requests to the content service per minute. On Linux there can be no more than 30,000 (or so) open connections. Unfortunately, Linux keeps connections open for (by default) 5 minutes.

Of course we are looking into ways to change the Linux configuration, but the Linux operators tell me that the root cause is in the application: it seems the CIL (Content Interaction Library) opens and closes a connection on every request to the content service. Instead, it should use a pool of connections.

My question is: is there a way to configure connection pooling in the CIL?

5
  • We only support the pooled connection manager in our Transport Service client. Not in the CIL Java library.
    – Bengineer
    Commented Jan 9, 2017 at 14:23
  • Thanks, Ben. Is this on the roadmap at all, to your knowledge?
    – Quirijn
    Commented Jan 9, 2017 at 14:25
  • I will add to the backlog as an enhancement. In the meantime you may wish to try configuring Tomcat's server.tomcat.max-threads which specifies the maximum number of request processing threads that the connector can handle. The default is 200. This can be modified by creating (or modifying) a file named application.properties in the config folder, and setting a value, such as: server.tomcat.max-threads=400
    – Bengineer
    Commented Jan 9, 2017 at 14:41
  • 1
    In addition, we use the client connection provided by our OData library - so you could submit an enhancement direct to that repository. See: github.com/sdl/odata/blob/…
    – Bengineer
    Commented Jan 9, 2017 at 14:43
  • I added an issue just now.
    – Quirijn
    Commented Jan 20, 2017 at 8:49

1 Answer 1

5

The answer is - unfortunately: it is not possible to configure the CIL to pool connections to the microservices.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.