Re: SSD writes get slower and slower
I also think that switching to LOG_ONLY mode should be good enough. On Mon, Feb 26, 2018 at 6:58 AM, dmitriy.govorukhin < dmitriy.govoruk...@gmail.com> wrote: > Hi, > > I guess the problem in "setSwapPath(...)", it is not the path for > persistence. > > Try to do something like this: > > storePath="/data/ignite2/swap/" > > cfg.setDataStorageConfiguration( > new DataStorageConfiguration() > .setWriteThrottlingEnabled(true) > .setPageSize(4 * 1024) > .setStoragePath(storePath) > .setWalPath(storePath + "/wal") > .setWalArchivePath(storePath + "/archive") > .setDefaultDataRegionConfiguration( > new DataRegionConfiguration() > .setPersistenceEnabled(true) > .setInitialSize(2L * 1024 * 1024 * 1024) > .setMaxSize(10L * 1024 * 1024 * 1024) > ) > ); > > Are you sure what you need so strong guaranteed? (WALMode.DEFAULT) > The WALMode.DEFAULT mode provides the strictness of the protection, but it > is the slowest onе. > Use LOG_ONLY mode for data loading. More info about wal mode see: > https://apacheignite.readme.io/docs/write-ahead-log > > > > > On 25.02.2018 12:14, VT wrote: > >> Hi Stan, >> >> The setting is very simple and straightforward, as follows. >> >> DataStorageConfiguration dsCfg = new DataStorageConfiguration(); >> dsCfg.setWalMode(WALMode.DEFAULT); >> dsCfg.setPageSize(4 * 1024); >> dsCfg.setWriteThrottlingEnabled(true); >> >> .. >> >> DataRegionConfiguration regionCfg1 = new DataRegionConfiguration(); >> regionCfg1.setName("region_1"); >> regionCfg1.setInitialSize(2L * 1024 * 1024 * 1024); >> regionCfg1.setMaxSize(10L * 1024 * 1024 * 1024); >> regionCfg1.setCheckpointPageBufferSize(2L * 1024 * 1024 * 1024); >> regionCfg1.setPageEvictionMode(DataPageEvictionMode.RANDOM_2_LRU); >> regionCfg1.setPersistenceEnabled(true); >> regionCfg1.setSwapPath("/data/ignite2/swap/"); //SSD >> >> ... >> >> cacheCfg.setDataRegionName("region_1"); >> cacheCfg.setName(CacheName); >> cacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizati >> onMode.FULL_ASYNC); >> cacheCfg.setCacheMode(CacheMode.PARTITIONED); >> cacheCfg.setCopyOnRead(false); >> >> ... >> >> I used DataStreammer very simply, like the following. >> >> IgniteDataStreamer stmr.addData(key, value); >> >> I have tried multiple settings such as perNodeBufferSize, >> perNodeParallelOperations. Still very slow. Please help. Thanks! >> >> >> >> -- >> Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >> > >
Re: SSD writes get slower and slower
Hi, I guess the problem in "setSwapPath(...)", it is not the path for persistence. Try to do something like this: storePath="/data/ignite2/swap/" cfg.setDataStorageConfiguration( new DataStorageConfiguration() .setWriteThrottlingEnabled(true) .setPageSize(4 * 1024) .setStoragePath(storePath) .setWalPath(storePath + "/wal") .setWalArchivePath(storePath + "/archive") .setDefaultDataRegionConfiguration( new DataRegionConfiguration() .setPersistenceEnabled(true) .setInitialSize(2L * 1024 * 1024 * 1024) .setMaxSize(10L * 1024 * 1024 * 1024) ) ); Are you sure what you need so strong guaranteed? (WALMode.DEFAULT) The WALMode.DEFAULT mode provides the strictness of the protection, but it is the slowest onе. Use LOG_ONLY mode for data loading. More info about wal mode see: https://apacheignite.readme.io/docs/write-ahead-log On 25.02.2018 12:14, VT wrote: Hi Stan, The setting is very simple and straightforward, as follows. DataStorageConfiguration dsCfg = new DataStorageConfiguration(); dsCfg.setWalMode(WALMode.DEFAULT); dsCfg.setPageSize(4 * 1024); dsCfg.setWriteThrottlingEnabled(true); .. DataRegionConfiguration regionCfg1 = new DataRegionConfiguration(); regionCfg1.setName("region_1"); regionCfg1.setInitialSize(2L * 1024 * 1024 * 1024); regionCfg1.setMaxSize(10L * 1024 * 1024 * 1024); regionCfg1.setCheckpointPageBufferSize(2L * 1024 * 1024 * 1024); regionCfg1.setPageEvictionMode(DataPageEvictionMode.RANDOM_2_LRU); regionCfg1.setPersistenceEnabled(true); regionCfg1.setSwapPath("/data/ignite2/swap/"); //SSD ... cacheCfg.setDataRegionName("region_1"); cacheCfg.setName(CacheName); cacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_ASYNC); cacheCfg.setCacheMode(CacheMode.PARTITIONED); cacheCfg.setCopyOnRead(false); ... I used DataStreammer very simply, like the following. IgniteDataStreamer stmr.addData(key, value); I have tried multiple settings such as perNodeBufferSize, perNodeParallelOperations. Still very slow. Please help. Thanks! -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
RE: SSD writes get slower and slower
Hi Stan, The setting is very simple and straightforward, as follows. DataStorageConfiguration dsCfg = new DataStorageConfiguration(); dsCfg.setWalMode(WALMode.DEFAULT); dsCfg.setPageSize(4 * 1024); dsCfg.setWriteThrottlingEnabled(true); .. DataRegionConfiguration regionCfg1 = new DataRegionConfiguration(); regionCfg1.setName("region_1"); regionCfg1.setInitialSize(2L * 1024 * 1024 * 1024); regionCfg1.setMaxSize(10L * 1024 * 1024 * 1024); regionCfg1.setCheckpointPageBufferSize(2L * 1024 * 1024 * 1024); regionCfg1.setPageEvictionMode(DataPageEvictionMode.RANDOM_2_LRU); regionCfg1.setPersistenceEnabled(true); regionCfg1.setSwapPath("/data/ignite2/swap/"); //SSD ... cacheCfg.setDataRegionName("region_1"); cacheCfg.setName(CacheName); cacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_ASYNC); cacheCfg.setCacheMode(CacheMode.PARTITIONED); cacheCfg.setCopyOnRead(false); ... I used DataStreammer very simply, like the following. IgniteDataStreamer stmr.addData(key, value); I have tried multiple settings such as perNodeBufferSize, perNodeParallelOperations. Still very slow. Please help. Thanks! -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
RE: SSD writes get slower and slower
Hi, Just to confirm – you’re talking about Ignite’s native persistence, right? Can you share the code and configs you use in your testing? Thanks, Stan From: VT Sent: 23 февраля 2018 г. 12:02 To: user@ignite.apache.org Subject: SSD writes get slower and slower Hello, I am trying to test use SSD. But as more data are written, the write performance drops significantly. Is there something I can do to solve this problem? Or are there any known issues to this problem that might be fixed in the upcoming versions? The test was done on a single node, locally. The total data size is small, not enough to fill half of SSD. Thanks! For example, Loaded 1 keys 239ms. Loaded 2 keys 122ms. Loaded 3 keys 141ms. Loaded 4 keys 110ms. ... Loaded 842 keys 8068ms. Loaded 843 keys 201ms. Loaded 844 keys 187ms. Loaded 845 keys 162ms. Loaded 846 keys 182ms. Loaded 847 keys 164ms. Loaded 848 keys 171ms. Loaded 849 keys 8475ms. ... Loaded 8437 keys 5684ms. Loaded 8438 keys 4329ms. Loaded 8439 keys 5191ms. Loaded 8440 keys 7352ms. Loaded 8441 keys 11171ms. ... Loaded 9994 keys 13352ms. Loaded 9995 keys 28771ms. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
SSD writes get slower and slower
Hello, I am trying to test use SSD. But as more data are written, the write performance drops significantly. Is there something I can do to solve this problem? Or are there any known issues to this problem that might be fixed in the upcoming versions? The test was done on a single node, locally. The total data size is small, not enough to fill half of SSD. Thanks! For example, Loaded 1 keys 239ms. Loaded 2 keys 122ms. Loaded 3 keys 141ms. Loaded 4 keys 110ms. ... Loaded 842 keys 8068ms. Loaded 843 keys 201ms. Loaded 844 keys 187ms. Loaded 845 keys 162ms. Loaded 846 keys 182ms. Loaded 847 keys 164ms. Loaded 848 keys 171ms. Loaded 849 keys 8475ms. ... Loaded 8437 keys 5684ms. Loaded 8438 keys 4329ms. Loaded 8439 keys 5191ms. Loaded 8440 keys 7352ms. Loaded 8441 keys 11171ms. ... Loaded 9994 keys 13352ms. Loaded 9995 keys 28771ms. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/