Üretimde G1'i test etmemiş olsam da, GC'lerin "muazzam" yığınları olmayan durumlar için zaten sorunlu olduğunu yorumlayacağımı düşündüm. Spesifik olarak, örneğin 2 veya 4 konser içeren hizmetler, GC'den ciddi şekilde etkilenebilir. Genç nesil GC'ler genellikle tek basamaklı milisaniyelerde (veya en fazla çift basamaklı) bittikleri için sorunlu değildir. Ancak eski nesil koleksiyonlar, 1 gig veya üzeri eski nesil boyutlarda birkaç saniye sürdüğü için çok daha sorunludur.
Şimdi: teorik olarak CMS, operasyonlarının çoğunu aynı anda çalıştırabildiğinden, orada çok yardımcı olabilir. Ancak zamanla bunu yapamayacağı ve "dünyayı durdurmak" için geri çekilmesi gereken durumlar olacaktır. Ve bu olduğunda (diyelim ki 1 saat sonra - çok sık değil, ama yine de çok sık), lanet şapkalarınızı tutun. Bir dakika veya daha uzun sürebilir. Bu, özellikle maksimum gecikmeyi sınırlamaya çalışan hizmetler için sorunludur; diyelim ki 25 milisaniye yerine bir isteği yerine getirmek yerine on saniye veya daha fazla zaman alıyor. Müşterilere hakarete zarar vermek, daha sonra isteği zaman aşımına uğratır ve yeniden dener, bu da başka sorunlara yol açar (aka "bok fırtınası").
Bu, G1'in çok yardımcı olmasının umulduğu bir alandır. Depolama ve mesaj gönderimi için bulut hizmetleri sunan büyük bir şirkette çalıştım; ve CMS'yi kullanamadık çünkü çoğu zaman paralel çeşitlerden daha iyi çalışmasına rağmen bu erimelere sahipti. Yani yaklaşık bir saat boyunca işler güzeldi; ve sonra bir şeyler fana çarptı ... ve hizmet kümelere dayalı olduğu için, bir düğümün başı belaya girdiğinde, diğerleri genellikle onu takip etti (çünkü GC kaynaklı zaman aşımları, düğümün çöktüğüne inanarak düğümlerin yeniden yönlendirilmesine yol açtı).
GC'nin uygulamalar için bu kadar büyük bir sorun olduğunu düşünmüyorum ve belki de kümelenmemiş hizmetler bile daha az etkileniyor. Ancak, giderek daha fazla sistem kümeleniyor (özellikle NoSQL veri depoları sayesinde) ve yığın boyutları büyüyor. OldGen GC'ler, yığın boyutuyla süper doğrusal olarak ilişkilidir (yani, yığın boyutunu ikiye katlamanın GC süresini iki katına çıkarması, canlı veri kümesinin boyutunun da iki katına çıktığı varsayılır).