⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

EhCache version upgrade from 2.10 to 3.10.8 #3308

@siddudivya

Description

@siddudivya

Hi Team,

I work on a Java Netty based application. And I currently use 2.10 version.
I am upgrading my application to 3.10.8.
As part of it, I am doing some scale testing on both the versions.
I see the throughput is reduced after upgrading the Ehcache 3.10.

Throughput on version 2.10 is 1.63 Million per minute while 3.10 version throughput is 1.52 Million per minute.

Below is the Ehcache configuration
EhCache 2.10

<cache name="purchase-orders"
     maxEntriesLocalHeap="300000"
     eternal="false"
     timeToIdleSeconds="900"
     memoryStoreEvictionPolicy="LRU"
     transactionMode="off">

    <persistence strategy="none"/>

</cache>

Ehcache 3.10

<cache alias="purchase-orders">
     <key-type>java.lang.String</key-type>
     <value-type>java.lang.Object</value-type>
     <expiry> 
     <tti unit="seconds">900</tti>
    </expiry>
    <resources>
      <heap unit="entries">300000</heap>
   </resources>
 </cache>

1. Can you throw some light on why the throughput has reduced with the new version?
2. I use only On Heap Config, is it good practice to use java.lang.Object as value type as I am observing EhCache giving serialization/deserialization exception on the Cache Initialization. Though the exception, I see the application is functioning properly.
3. Does EhCache apply Serialization/Deserialization for On-Heap configuration also. If so in which all scenarios will it apply?

Note: Both Cache configurations are same. No changes just version upgrade

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions