Which version of Ignite do you use?

On Mon, Sep 19, 2022 at 11:38 AM 38797715 <[email protected]> wrote:

> for example:
>
> start a node by ignite.sh.
>
> then:
>
> CREATE TABLE City (
>   ID INT,
>   Name VARCHAR,
>   CountryCode CHAR(3),
>   District VARCHAR,
>   Population INT,
>   PRIMARY KEY (ID, CountryCode)
> ) WITH "template=partitioned, backups=1, affinityKey=CountryCode,
> CACHE_NAME=City, KEY_TYPE=demo.model.CityKey, VALUE_TYPE=demo.model.City";
>
>
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (1,'Kabul','AFG','Kabol',1780000);
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (2,'Qandahar','AFG','Qandahar',237500);
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (3,'Herat','AFG','Herat',186800);
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (4,'Mazar-e-Sharif','AFG','Balkh',127800);
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (5,'Amsterdam','NLD','Noord-Holland',731200);
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (6,'Rotterdam','NLD','Zuid-Holland',593321);
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (7,'Haag','NLD','Zuid-Holland',440900);
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (8,'Utrecht','NLD','Utrecht',234323);
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (9,'Eindhoven','NLD','Noord-Brabant',201843);
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (10,'Tilburg','NLD','Noord-Brabant',193238);
> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES
> (11,'Groningen','NLD','Groningen',172701);
>
> SELECT * FROM sys.metrics WHERE name LIKE 'io.dataregion.default%';
>
> io.dataregion.default.OffHeapSize    104857600
> io.dataregion.default.PhysicalMemoryPages    2066
> io.dataregion.default.EmptyDataPages    0
> io.dataregion.default.UsedCheckpointBufferSize    0
> io.dataregion.default.TotalThrottlingTime    0
> io.dataregion.default.PagesReplaced    0
> io.dataregion.default.EvictionRate    0
> io.dataregion.default.InitialSize    104857600
> io.dataregion.default.DirtyPages    0
> io.dataregion.default.MaxSize    8589934592
> io.dataregion.default.PagesWritten    0
> io.dataregion.default.PagesReplaceRate    0
> io.dataregion.default.PagesRead    0
> io.dataregion.default.PagesFillFactor    0.9997031688690186
> io.dataregion.default.TotalAllocatedPages    2066
> io.dataregion.default.PhysicalMemorySize    8511920
> io.dataregion.default.PagesReplaceAge    0
> io.dataregion.default.AllocationRate    2066
> io.dataregion.default.OffheapUsedSize    8511920
> io.dataregion.default.LargeEntriesPagesCount    0
> io.dataregion.default.TotalAllocatedSize    8511920
> io.dataregion.default.CheckpointBufferSize    0
>
> TotalUsedSize - (TotalAllocatedSize - PagesFillFactor * TotalAllocatedSize)
>
> = 8511920 - (8511920 - 0.9997031688690186 * 8511920) = 8509392
>
>
> delete from city;
>
> SELECT * FROM sys.metrics WHERE name LIKE 'io.dataregion.default%';
>
> io.dataregion.default.OffHeapSize    104857600
> io.dataregion.default.PhysicalMemoryPages    2075
> io.dataregion.default.EmptyDataPages    0
> io.dataregion.default.UsedCheckpointBufferSize    0
> io.dataregion.default.TotalThrottlingTime    0
> io.dataregion.default.PagesReplaced    0
> io.dataregion.default.EvictionRate    0
> io.dataregion.default.InitialSize    104857600
> io.dataregion.default.DirtyPages    0
> io.dataregion.default.MaxSize    8589934592
> io.dataregion.default.PagesWritten    0
> io.dataregion.default.PagesReplaceRate    0
> io.dataregion.default.PagesRead    0
> io.dataregion.default.PagesFillFactor    1.0
> io.dataregion.default.TotalAllocatedPages    2075
> io.dataregion.default.PhysicalMemorySize    8549000
> io.dataregion.default.PagesReplaceAge    0
> io.dataregion.default.AllocationRate    9
> io.dataregion.default.OffheapUsedSize    8549000
> io.dataregion.default.LargeEntriesPagesCount    0
> io.dataregion.default.TotalAllocatedSize    8549000
> io.dataregion.default.CheckpointBufferSize    0
>
>
> TotalUsedSize - (TotalAllocatedSize - PagesFillFactor * TotalAllocatedSize)
>
> =8549000 - (8549000 - 1.0 * 8549000) = 8549000
>
> Instead, the value becomes larger?
>
>
> 在 2022/9/19 15:13, Alexander Polovtcev 写道:
>
> Sorry, I messed up the metric names a little bit, we should use the size
> metrics, not the page metrics. So the correct formula would be:
> `TotalUsedSize - (TotalAllocatedSize - PagesFillFactor *
> TotalAllocatedSize)`
>
> On Sun, Sep 18, 2022 at 4:29 PM 38797715 <[email protected]> wrote:
>
>> I've checked TotalUsedPages in ignite.dataRegionMetrics(), it is found
>> that the logic of this metric is consistent with OffheapUsedSize, that is,
>> the value will not be updated after data deletion.
>> 在 2022/9/18 19:42, Alexander Polovtcev 写道:
>>
>> Hello, you can check out "TotalUsedPages" and "TotalUsedSize" metrics
>> that can be found in the Data Region metrics. However, please keep in mind
>> that this does not take page fragmentation into account.
>>
>> On Sat, Sep 17, 2022 at 2:35 PM 38797715 <[email protected]> wrote:
>>
>>> Hi team,
>>>
>>> We found that if the delete operation is executed, the memory space
>>> corresponding to the data will not be released, and this space will be
>>> reused later.
>>>
>>> Therefore, metrics such as OffheapUsedSize will become inaccurate.
>>>
>>> So, how to calculate the exact amount of memory occupied by data in a
>>> cache or a dataregion?
>>>
>>
>>
>> --
>> With regards,
>> Aleksandr Polovtcev
>>
>>
>
> --
> With regards,
> Aleksandr Polovtcev
>
>

-- 
With regards,
Aleksandr Polovtcev

Reply via email to