"Hatékony[...] A Cassandra például azért használ a JNA, mert a design pattern szerint egy egy fizikai (vagy virtualizált) gép = egy Cassandra node. A Cassandra pedig a végletekig kihasználja a rendelkezésre álló memóriát, ha egészen pontos képet kap arról, hogy mi van swap-en, mi van memóriában és az adott SSTable alatt milyen storage van, az mikor van szinkronban a memóriával, akkor sokkal hatékonyabban tud dolgozni, mintha ezekről nem tudna, mert elfedi ezeket az információkat a JVM (aminek ugye ez a dolga)."
Jonathan Ellis szavai:
"RAM capacities have been increasingly roughly in step. But the JVM’s ability to manage a large heap has not kept pace."
http://www.slideshare.net/jbellis/dealing-with-jvm-limitations-in-apach…
Ráadásul még frissebb is, mint a te információid. :)
"esetleg meg kellene érteni a működésmódot és az üzemeltetési sajátosságokat, de ahogy látom az eddigi hozzászólásaidból: nem sikerült."
Összefoglalnád a működésmód és üzemeltetési sajátosság kvintesszenciáját, amelyeket nem sikerült megértenem az eddigi hozzászólásaim alapján?
Miket állítottam:
"Kivéve, ha orientdb-t, cassandrát, vagy hasonlókat szeretnél futtatni mondjuk openjdk-val. :)" (a write once, run anywhere-re)
Cassandra:
https://issues.apache.org/jira/browse/CASSANDRA-8325
Amikor egy java programban memóriapointerekkel zsonglőrködnek és segfaultolják a VM-et, hát ez tényleg a menedzselt kód diadala.
Orientdb:
https://github.com/orientechnologies/orientdb/issues/3501
(fele annyira sem néztem bele, mint a cassandrásba), jó, hát JDK-t választani tudni kell... Nekik is meg kell még érteniük a működésmód sajátosságait. :)
"BTW, a Cassandra annyira java, hogy lassan akár c-ben is írhatnák. Malloc, fallocate, eléggé belehánytak a java bilibe."
OK, a Cassandra egy java wrapper a low level kódhoz, így szebb? :)
"Akárhány projektet láttam (elasticsearch, opendj legutóbb), mindegyik szenved, ha elkezdenéd használni egy mobiltelefonnál nagyobb vason."
https://www.elastic.co/guide/en/elasticsearch/guide/master/heap-sizing…
"meg kellene érteni a működésmódot és az üzemeltetési sajátosságokat". Azaz ne használj sok memóriát, és/vagy tuningold szarrá a JVM-et (de ne használj sok memóriát)?
Az opendj is tud olyat, hogy LDAP válaszidőket mérsz, és amellett, hogy amúgy gyors (bár pld. egy C-ben írt LDAP szerver ugyanannyi CPU idő elhasználása mellett *jóval* gyorsabb), néha elalszik kicsit.
Remélem az üzemeltetője majd megfontolja a javaslataidat és megérti ezeket. Rögtön a gyártója után, aki a programot írta és a jvm paramétereket hozta. :)