Con l'ottimizzazione GC riesco a ottenere prestazioni per applicazioni java in tempo reale ed evitare pause riconoscibili del GC. Ma ciò vale fino a ~ 20 GB di spazio heap.Scalatura verticale dell'applicazione Java real-time
La riduzione del costo dell'hardware ha reso accessibili anche 100 GB di RAM. Ma, ancora con Java a causa delle pause di GC, dimensioni di heap più elevate come 50 GB possono mandarti in incubo a intervalli regolari.
Capisco che ci siano opzioni come off-heap e heap distribuito. Tuttavia, off-heap ha uno svantaggio di se/derializzazione e l'heap distribuito sulla mano aumenta i costi di manutenzione. Inoltre, nell'heap distribuito in realtà non si utilizza completamente la RAM (ad esempio 64 GB) che in questi giorni sta diventando comune come commodity.
Pertanto, per sfruttare appieno il potenziale della RAM, quali sono le buone soluzioni per il ridimensionamento verticale delle applicazioni Java?
"applicazione in tempo reale Java" <= lol wut? Non dovresti davvero usare Java per un'applicazione in tempo reale. Semplicemente non è fatto per quello. –
@stonedsquirrel: questa è una visione piuttosto ristretta del jvm. ci sono jvms che sono mirati alle applicazioni in tempo reale. – jtahlborn
Suppongo che tu ti riferisca all'oracolo jvm, che è praticamente mirato allo "scopo generale". hai guardato jvms che sono specificamente progettati per la memoria enorme, come azul? – jtahlborn