W jakich okolicznościach wydajność Java spada z większą ilością pamięci?

Wczytujemy testowanie aplikacji Java 1.6 w naszym środowisku DEV. Alokacja sterty maszyny JVM to 2 GB, -Xms2048 m -Xm x 2048 m. W testach obciążenia aplikacja działa płynnie, nigdy nie używa więcej niż 1,25 GB sterty, a zbieranie śmieci jest całkowicie normalne.

W naszym środowisku UAT uruchamiamy test obciążenia z tymi samymi parametrami, jedyną różnicą jest JVM, przydzielono mu 4Gb, -Xms4096m -Xmx4096m, w przeciwnym razie sprzęt jest dokładnie taki sam z DEV. Ale podczas testowania obciążenia wydajność jest przerażająca, aplikacja zjada prawie całą stertę, a zbieranie śmieci działa szerzej.

Przeprowadzaliśmy te testy raz za razem, wyeliminowaliśmy wszystkie możliwe objawy, które mogą mieć wpływ na wydajność, ale wyniki są takie same. W jakich okolicznościach może tak być?

questionAnswers(3)

yourAnswerToTheQuestion