2010-07-23 13 views
7

Mamy fasolę borykającą się w pracy z sugestią, że powinniśmy zmniejszyć rozmiar naszego pliku wojennego, w szczególności rozmiaru katalogu WEB-INF/lib, w celu poprawienia wydajności naszej produkcji JBoss. Coś, nad czym wciąż jestem podejrzliwy.Czy rozmiar pliku wojny wpływa w pewien sposób na wydajność aplikacji i/lub serwera aplikacji?

Mamy około 15 aplikacji internetowych wdrażanych na naszym serwerze aplikacji, każdy o wielkości od 15 do 20 MB.

Wiem, że jest w tym wiele zmiennych, ale czy ktokolwiek z was rzeczywiście radzi sobie z tą sytuacją? Czy rozmiar plików .war ma w zasadzie znaczący wpływ na ogólnie używane kontenery internetowe?

Jaką radę możesz zaoferować?

Thank U.

Odpowiedz

9

Istnieje wiele rzeczy, aby być podejrzliwi tutaj:

  • co aplikacja nie działa na poziomie, który chcesz?
  • Czy zmierzyłeś aplikację, aby dowiedzieć się, które składniki powodują brak wydajności?
  • Jakie są wąskie gardła w aplikacji/systemie?

Rozmiar samej aplikacji nie ma nic wspólnego z wydajnością środowiska wykonawczego. Liczba klas załadowanych podczas całego okresu użytkowania aplikacji ma wpływ na wykorzystanie pamięci aplikacji, ale jest niewiarygodnie znikoma.

Gdy mamy do czynienia z „problemów z wydajnością”, rozwiązanie zawsze następuje te same ogólne etapy:

  • Co to znaczy, kiedy mówimy „złe wyniki”?
  • Co konkretnie nie działa? Mierz, mierz, mierz.
  • Czy możemy poprawić konkretny komponent, który nie osiąga pożądanego poziomu?
  • Jeśli tak, zaimplementuj pomysły, zmień ponownie, aby sprawdzić, czy wydajność naprawdę się poprawiła.
+0

To jest to, nie ma rzeczywistego problemu z wydajnością, tylko ktoś sugeruje możliwą degradację wydajności z powodu rozmiaru plików .war. –

+2

Prawdopodobna degradacja w porównaniu z czymś - w porównaniu do mniejszej wojny? Jeśli tak, to byłoby to łatwe do przetestowania - porównuj oryginalną aplikację ze szczuplejszą. Ale czy włączyłeś słoiki w WEB-INF/lib, których nie potrzebujesz? Jeśli nie, to jest już tak szczupła, jak tylko może być. To brzmi jak sugestia bez faktów, które by ją poparły. –

1

Musisz podać nam system operacyjny. Czy masz ochronę antywirusową na żywo?

Plik wojny/jar jest w rzeczywistości plikiem zip - tzn. Jeśli zmieniono nazwę pliku .war na .zip, można użyć narzędzia zip, aby wyświetlić/rozpakować plik.

Podczas instalacji plik wojenny jest rozpakowywany do oznaczonego folderu. Jeśli masz ochronę na żywo, narzędzie antywirusowe może zająć trochę czasu, aby zeskanować nową gałąź utworzonych katalogów i spowolnić dostęp do nich.

Wiele frameworków aplikacji internetowych, takich jak strony JSP, tworzy pliki tymczasowe, a Twoja ochrona na żywo może działać, aby je przeskanować.

Jeśli masz taką sytuację, musisz zdecydować, czy chcesz wykluczyć aplikację internetową ze skanowania antywirusowego na żywo.

Czy używasz systemu Linux, ale Twój katalog jest dostępny za pomocą ntfs-3g? Jeśli tak, sprawdź, czy katalog ntfs jest skompresowany.ntfs-3g ma problemy z dostępem do skompresowanych plików NTFS, szczególnie gdy wiele plików jest jednocześnie manipulowanych/tworzonych/nieskompresowanych. Po pierwsze, chyba że istnieją pewne niezwykle ważne powody (których nie widzę), katalog aplikacji sieciowych powinien być partycją lokalną w formacie natywnym dla Linuksa.

Użyj wireshark do monitorowania aktywności sieci. Dowiedz się, czy aplikacje internetowe powodują dostęp do zdalnych systemów plików. Sprawdź, czy jest za dużo retransmitów za każdym razem, gdy aplikacje internetowe są aktywne. Nadmierne retransmisje lub żądania retransmisji oznaczają, że rurociąg sieci ma problemy z integralnością. Nadal staram się zrozumieć ten problem sam - niektóre karty sieciowe mają problemy z buforowaniem (jak przepełnienie bufora) działające w systemie Linux, ale nie w Windows.

Wireshark nie jest trudny w użyciu, o ile rozumiesz adresy IP i możesz chcieć napisać skrypty awk, perl lub python do analizy ruchu. Osobiście użyłbym SAS.

+4

Jeśli używasz jboss na serwerze Windows ze skanowaniem antywirusowym, masz o wiele gorsze problemy niż rozmiar pliku wojny ... – bwawok