2015-06-14 18 views
6

Chcę przetestować moją aplikację J2EE pod dużym obciążeniem sesji uzyskujących dostęp do różnych stron.monitorować zachowanie log4j pod obciążeniem

Ta aplikacja internetowa wykorzystuje Log4J do rejestrowania pakietów błędów, ostrzeżeń i informacji. Chcę przetestować, jaki jest efekt uboczny tego obciążenia podczas zapisywania plików dziennika, w szczególności współbieżnych operacji zapisu we/wy.

Znalazłem, że Log4j deadlock under high load conditions.

Pytanie brzmi, czy system operacyjny (Linux) ma jakiekolwiek ograniczenia dotyczące równoczesnego zapisywania plików we/wy lub czy Log4j obsługuje tę współbieżność?

W jaki sposób mogę monitorować opóźnienia w procesie we/wy (z powodu dużego obciążenia) lub w przypadku wystąpienia impasu?

Dzięki

Odpowiedz

2

Ponieważ nikt nie odpowiedział na moje pytanie,

Ten link jakoś mi pomóc poprzez rozwiązania mojego problemu.

Log4j zapisuje kolejno do plików i konsoli. więc podczas gdy jeden wątek pisze inny wątek, który chce napisać, musi poczekać, aż drugi skończy. również, stdout może zablokować, jeśli cokolwiek jest z nim połączone, z drugiej strony, nie powoduje jego wyczerpania.

w systemie unix istnieje specjalny deskryptor pliku o nazwie stdout. po uruchomieniu aplikacji w konsoli stdout zostanie dołączony do konsoli. możesz także przekierować stdout do innych plików. ex: java Blah > /dev/null. prawdopodobnie masz stdout wskazującą na plik, który się wypełnia. na przykład rura jest plikiem i jeśli program na drugim końcu nie opróżnia rury, program piszący do rury ostatecznie zablokuje.