Hi Denis,

We did a test, in the same environment (8G RAM, 10G swap partition) and the same configuration (2G Heap, enable persistence, data volume is about 6G), the only difference is that the maxSize size is different, which is configured as 5G and 12G respectively. We found that the performance of the scenario with maxSize = 12G is better than that of the scenario with maxSize = 5G, and the write performance is improved by more than 10%.

I suspect that if the memory data region is large enough to hold all the data, ignite's page replacement might not be enabled.

Our test scenarios are limited and may not be convincing. However, I think that the lack of memory may be the norm. At this time, it may be a good practice to make full use of the swap mechanism of the OS, which takes up more disk space but achieves better performance.

在 2020/8/14 上午8:22, Denis Magda 写道:
Ignite swapping is based on the swapping mechanism of the OS. So, you shouldn’t see any difference if enable the OS one directly some way.

Generally, you should not use swapping of any form as a permanent persistence layer due to the performance penalty. Once the swapping kicks in, you should scale out your cluster and wait while the cluster rebalances a part of the data to a new node. When the rebalancing completes, the performance will be recovered and swapping won’t longer be needed.

Denis

On Thursday, August 13, 2020, 38797715 <38797...@qq.com <mailto:38797...@qq.com>> wrote:

    Hi,

    We retested and found that if we configured swapPath, as the
    amount of data increased, the write speed was actually slower and
    slower. If the amount of data is large, on average, it is much
    slower than the scenario where native persistence is enabled and
    wal is disabled.

    In this way, the use of the swapPath property has no productive
    value, maybe it was an early development function, and now it is a
    bit out of date.

    What I want to ask is, in the case of small physical memory,
    turning on persistence, and then configuring a larger maxSize
    (using the swap mechanism of the OS), is this a solution? In other
    words, the swap mechanism of the OS and the page replacement of
    Ignite, which is better?

    在 2020/8/6 下午9:23, Ilya Kasnacheev 写道:
    Hello!

    I think the performance of swap space should be on par with
    persistence with disabled WAL.

    You can submit suggested updates to the documentation if you like.

    Regards,
-- Ilya Kasnacheev


    ср, 5 авг. 2020 г. в 06:00, 38797715 <38797...@qq.com
    <mailto:38797...@qq.com>>:

        Hi Ilya,

        If so, there are two ways to implement ignite's swap space:
        1. maxSize > physical memory, which will use the swap
        mechanism of the OS, can be used *vm.swappiness* Adjust.
        2. Configure the *swapPath* property, which is implemented by
        Ignite itself, is independent of the OS and has no
        optimization parameters.

        There's a choice between these two models, right? Then I
        think there may be many problems in the description of the
        document. I hope you can check it again:
        https://apacheignite.readme.io/docs/swap-space
        <https://apacheignite.readme.io/docs/swap-space>

        After our initial testing, the performance of swap space is
        much better than native persistence, so I think this pattern
        is valuable in some scenarios.

        在 2020/8/4 下午10:16, Ilya Kasnacheev 写道:
        Hello!

        From the docs:

        To avoid this situation with the swapping capabilities, you
        need to :

          * Set |maxSize = bigger_ than_RAM_size|, in which case,
            the OS will take care of the swapping.
          * Enable swapping by setting the
            |DataRegionConfiguration.swapPath| property.


        I actually think these are either-or. You should either do
        the first (and configure OS swapping) or the second part.

        Having said that, I recommend setting proper Native
        Persistence instead.

        Regards,
-- Ilya Kasnacheev


        сб, 25 июл. 2020 г. в 04:49, 38797715 <38797...@qq.com
        <mailto:38797...@qq.com>>:

            Hi,

            https://apacheignite.readme.io/docs/swap-space
            <https://apacheignite.readme.io/docs/swap-space>

            According to the above document, if the physical memory
            is small, you can solve this problem by opening the swap
            space,The specific method is to configure maxSize to a
            larger value (i.e. larger than the physical memory), and
            the swapPath property needs to be configured.

            But from the test results, the node is terminated.

            I think the correct result should be that even if the
            amount of data exceeds the physical memory, the node
            should still be able to run normally, but the data is
            exchanged to the disk.

            I want to know what parameters affect the behavior of
            this configuration? *vm.swappiness* or others?

            在 2020/7/24 下午9:55, aealexsandrov 写道:
            Hi,

            Can you please clarify your expectations? You expected that JVM 
process will
            be killed instead of gracefully stopping? What you are going to 
achieve?

            BR,
            Andrei



            --
            Sent from:http://apache-ignite-users.70518.x6.nabble.com/  
<http://apache-ignite-users.70518.x6.nabble.com/>



--
-
Denis

Reply via email to