3

We moved from SDL 2013 SP1 to SDL Web 8.5 and we are using In Process API.

We have 40+ Applications hosted on 8 servers.

When we did load test for 7000 concurrent users, CPU maxed out.

When I change the connection pool size to 10 the CPU usage reduced to 80%.

We have 2 Database server configured on High Availability Group and each has 32GB RAM.

Is it advisable to increase connection pool size further?

<Storage Type="persistence" Id="sqlserver" dialect="MSSQL" Class="com.tridion.storage.persistence.JPADAOFactory">
        <Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" />
        <DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
          <Property Name="serverName" Value="localhost" />
          <Property Name="portNumber" Value="1433" />
          <Property Name="databaseName" Value="Tridion_Broker" />
          <Property Name="user" Value="TridionBrokerUser" />
          <Property Name="password" Value="tridion" />
        </DataSource>
</Storage>

2 Answers 2

1

AFAIK - Yes, you can increase your database connection pool size since you have a high load. You will need to make sure your database can support the number of connections and allowed by your database.

Try with this below settings on your cd_storage.config

<Pool Type="jdbc" Size="30" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" MinEvictableIdleTimeout="-1" ValidationQuery="select 1" TestOnBorrow="true"/>

The creation of a new connection can cause performance lag on a high load environment so having the connection readily available will definitely have advantages as they are created on the application startup.

The current size is 5 which is not recommended for a high load environment.

It is always preferable to have the latest cumulative Hotfixes, get validate with SDL support.

It could be a chance missing any SQL index or required any new index creation based on your implementation.

I would suggest creating a support case with SDL support to resolve this issue.

I hope it helps.

0

1st question will be : is your legacy system supports that load? you also may check if any application memory leak present or not. or garbage collection is happening correctly or not. there are many tools to monitor the application and connections i.e: appdynamic etc. these are helped us a lot.

Your Answer

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

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