> None of them require changing configuration of Ignite or persistent store
Disclaimer: this will be true since 2.3.
https://issues.apache.org/jira/browse/IGNITE-6182 - memory policy
default max size set to 20% of RAM - since 2.2
https://issues.apache.org/jira/browse/IGNITE-5884 - default pageSize set
to 4K - since 2.3
Best Regards,
Ivan Rakov
On 13.09.2017 12:29, Ivan Rakov wrote:
Folks,
We had some experience of benchmarking Ignite with persistent store on
SSD. I think we can share some helpful advice. None of them require
changing configuration of Ignite or persistent store.
*Tuning advice for users*
1) Be prepared for LFS performance decrease after several hours of
intensive load. Unfortunately, that's how SSD drives work:
http://codecapsule.com/2014/02/12/coding-for-ssds-part-2-architecture-of-an-ssd-and-benchmarking/
Consider buying fast production-level SSD drives.
2) Consider using separate drives for LFS files and WAL. Ignite
actively performs writes to both LFS and WAL under intensive load, and
having two devices will double your throughput limit.
3) Over-provision your SSD. Performance of random writes on 50% filled
disk is much better than on 90% filled. SSD Over-Provisioning And Its
Benefits:
http://www.seagate.com/ru/ru/tech-insights/ssd-over-provisioning-benefits-master-ti/
4) Leave free space in RAM to let OS use page cache and optimize
writes. Total size of all memory policies shouldn't exceed 70% of your
RAM.
5) Make sure that OS doesn't utilize swap. If you use Unix, best
option is set vm.swappiness to 0.
6) Try to find out page size of your SSD. Ideally, page size of Ignite
shouldn't be less than SSD page size. Possible approaches:
Find it in device specification (some manufacturers don't reveal it)
Try running SSD benchmarks
If you are not sure, just set page size to 4K. As various benchmarks
use 4K pages, manufacturers have to adapt drives for 4K random write
workload. Whitepaper from Intel showing that 4K pages are enough:
https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/ssd-server-storage-applications-paper.pdf
Check your OS page cache size. Page size of Ignite shouldn't be less
than OS page size. How to check OS cache page size in Unix:
https://unix.stackexchange.com/questions/128213/how-is-page-size-determined-in-virtual-address-space
Best Regards,
Ivan Rakov
On 01.09.2017 21:08, Denis Magda wrote:
Igniters,
I see a lot of complains regarding the performance of the subj on the
user list. At the same time, I do believe that in most scenarios it’s
a lack of knowledge that we keep in secret.
It's time to document Durable Memory and its Native Persistence
tuning parameters. Let's start doing this for Linux based deployments
first. Here is what we have for now (which is almost nothing):
https://apacheignite.readme.io/docs/durable-memory-tuning
<https://apacheignite.readme.io/docs/durable-memory-tuning>
Ideally, at some point we have to come up with doc like this:
https://access.redhat.com/sites/default/files/attachments/deploying-oracle-12c-on-rhel6_1.2_1.pdf
Please share your expertise in a form of settings that have to be put
on the paper. We put them in JIRA and document afterwords:
https://issues.apache.org/jira/browse/IGNITE-6246
<https://issues.apache.org/jira/browse/IGNITE-6246>
—
Denis