2013-05-29 8 views
8

Mam nietypowe pytanie i wiem, że jest to bardzo kontrowersyjne, ale oto nadchodzi.Limit wydajności JSF

W przeszłości opracowałem kilka aplikacji JSF, ale wszystkie ograniczają liczbę użytkowników, którzy mogą być obsługiwani około 5-6. Było to częściowo spowodowane polityką opartą na licencji. Przeprowadziłem kilka testów z ponad 20 użytkownikami i Selenium, a aplikacje poszły bardzo wolno. Problem prawdopodobnie wynikał z wydajności serwera, ale nadal nie mogę odpowiedzieć na następujące pytanie:

Czy aplikacja JSF obsługuje dużą liczbę użytkowników? Zakładam, że ramy powinny na to pozwalać, jednak nie mogę myśleć o żadnej komercyjnej stronie internetowej, która używa JSF i może obsługiwać tysiące użytkowników naraz. (Jeśli mógłbyś pokazać mi, że byłoby wspaniale!)

Pytam o to, ponieważ poproszono mnie o opracowanie większego systemu i bardzo chciałbym skorzystać z JSF, ponieważ bardzo go kocham, jednak ostatnie wyniki testy dały mi wątpliwości. Główny programista powiedział, że chodzi tylko o wydajność serwera, ale w takim przypadku, jaki rodzaj maszyny może obsłużyć tysiące użytkowników zalogowanych jednocześnie? Główny programista nie jest najlepszy w swoim rodzaju, dlatego chcę usłyszeć drugą opinię od SOF, jeśli nie masz nic przeciwko.

Jeśli istnieje jakikolwiek framework bardziej odpowiedni do ekstremalnego wykorzystania, proszę dać mi znać, który z nich jest, jedynym prawdziwym ograniczeniem jakie mam jest to, że powinien to być Java oparty na stronie serwera.

Znowu przepraszam za niekonstruktywne pytanie.

+4

'Chciałbym użyć JSF, ponieważ bardzo go kocham' może nie być najlepszym powodem do wyboru technologii. – Uooo

+3

google "równoważenie obciążenia" –

+3

Nie uważałbym tysiąca użytkowników za ekstremalne w tych dniach. ;) Z pewnością jestem zaskoczony, że wciąż istnieją struktury, które nie mogą obsłużyć co najmniej 1000 na serwer. Może się okazać, że jest to interesujące, jest to projekt dla 10 milionów połączeń na jednej maszynie http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel -i.html –

Odpowiedz

5

wszystko to ograniczyć ilość użytkowników, którzy mogą być servred o 5-6

Nie wiesz co Aplikacja jest obciążenie lub konstrukcja są, ale to brzmi niewiarygodnie niskie. JSF powinien być w stanie obsłużyć wiele setek użytkowników, jeśli są zaprojektowane, a nawet 1000 z odpowiednią infrastrukturą. Kod JSF działa z serwletami i fasetkami - framework jest standardowym kodem, który został zoptymalizowany w miarę upływu czasu i jest optymalizowany JIT w czasie wykonywania.

E.g. Dzięki IBM Websphere Portal Server i Oracle Portal standardowym sposobem budowania portali i aplikacji dla klientów jest JSF. I są używane w ogromnych instalacjach.

Wygląda na to, że Twoje poprzednie aplikacje mają pewien problem. Nie sądzę, że można winić ten występ na JSF.

+0

Tak, dobrze przez moją aplikację miałem na myśli aplikacje, w których brałem udział, podstawy systemu zostały stworzone przez nie entuzjastycznych programistów. W każdym razie naprawdę miałem nadzieję, że tak się stanie, w tym przypadku zrobię niesamowite oprogramowanie i mogę nawet użyć JSF jako mojego ulubionego frameworku: P –

+0

Dobre rzeczy :) :) MyFaces perf: http: // lu4242 .blogspot.com.au/2012/05/understandingjsf-2-and-wicket.html Tuning JSF 1: http://www.nljug.org/pages/events/content/jspring_2008/sessions/00017/ –

1

Jeśli chcesz uzyskać ekstremalną liczbę połączeń JAVA, możesz rozważyć opcję http://netty.io/ Została zaprojektowana do obsługi i została przetestowana dla ponad 100 000 połączeń.

Podejrzewam, że wąskim gardłem nie jest liczba połączeń, które masz, ale jak efektywne są twoje strony, to znaczy, że JSF jest wyjątkowo wolny. Jeśli zoptymalizujesz to, podejrzewam, że możesz obsłużyć więcej połączeń.