8

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?

  • We only support the pooled connection manager in our Transport Service client. Not in the CIL Java library. – Bengineer Jan 9 '17 at 14:23
  • Thanks, Ben. Is this on the roadmap at all, to your knowledge? – Quirijn Jan 9 '17 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 Jan 9 '17 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 Jan 9 '17 at 14:43
  • I added an issue just now. – Quirijn Jan 20 '17 at 8:49
4

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, privacy policy and cookie policy

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