You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Nikolay Izhikov (JIRA)" <ji...@apache.org> on 2018/10/31 08:25:00 UTC
[jira] [Comment Edited] (IGNITE-9996) Investigate possible
performance drop in FSYNC mode for ignite-2.7 compared to ignite-2.6
[ https://issues.apache.org/jira/browse/IGNITE-9996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669735#comment-16669735 ]
Nikolay Izhikov edited comment on IGNITE-9996 at 10/31/18 8:24 AM:
-------------------------------------------------------------------
Hello, [~agoncharuk], [~vozerov]
I found the reason for this issue:
1. Expensive check in {{PageMemoryImpl#realPageSize}}. Is consist of call {{HashMap#get}} which leads to expensive boxing {{int}} to {{Integer}}.
2. In benchmarks, without encrypted caches, this fixed by a simple check:
{code:java}
if (grpEncKeys.isEmpty())
return null;
{code}
3. Buy in real life examples with at least one encrypted cache we run in the same problem.
For full fix we should use data structure without int -> Integer boxing.
Example of such data structure - http://www.docjar.com/docs/api/org/apache/commons/lang/IntHashMap.html
Unfortunately, there is no such thing in the Ignite codebase at the moment.
Guys, please, give me and advice, how should be full fix implemented?
was (Author: nizhikov):
Hello, [~agoncharuk], [~vozerov]
I found the reason for this issue:
1. Expensive check in {PageMemoryImpl#realPageSize}. Is consist of call {HashMap#get} which leads to expensive boxing {int} to {Integer}.
2. In benchmarks, without encrypted caches, this fixed by a simple check:
{code:java}
if (grpEncKeys.isEmpty())
return null;
{code}
3. Buy in real life examples with at least one encrypted cache we run in the same problem.
For full fix we should use data structure without int -> Integer boxing.
Example of such data structure - http://www.docjar.com/docs/api/org/apache/commons/lang/IntHashMap.html
Unfortunately, there is no such thing in the Ignite codebase at the moment.
Guys, please, give me and advice, how should be full fix implemented?
> Investigate possible performance drop in FSYNC mode for ignite-2.7 compared to ignite-2.6
> -----------------------------------------------------------------------------------------
>
> Key: IGNITE-9996
> URL: https://issues.apache.org/jira/browse/IGNITE-9996
> Project: Ignite
> Issue Type: Task
> Reporter: Alexey Goncharuk
> Assignee: Nikolay Izhikov
> Priority: Major
> Fix For: 2.7
>
> Attachments: Screen Shot 2018-10-29 at 3.30.51 PM.png, Screen Shot 2018-10-31 at 10.30.26 AM.png
>
>
> As per the latest reports we probably have a performance drop around 5-8% on write benchmarks in FSYNC mode. The cause needs to be investigated and fixed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)