Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 1 Dołączył: 21.05.2009 Ostrzeżenie: (0%)
|
Tworzę aplikację RIA, która działa w przeglądarce po stronie klienta i co jakiś czas zapisuje dane (np. położenie paneli) w wybranej tabeli w bazie danych, wysyłając je metodą POST przez AJAX. Biorąc pod uwagę, że równocześnie z aplikacji może korzystać kilkaset osób, jak zoptymalizować wydajność serwera WWW i bazy danych?
1. Tabela, do której zapisywane są dane, powinna mieć blokowanie na poziomie wiersza (a nie całej tabeli), zgadza się? 2. Trzeba zachować kolejność zapisywania, żeby pakiet, który został wysłany wcześniej, a dotarł później, nie nadpisał pakietu wysłanego w międzyczasie, tak? 3. Czy wywoływać zapis danych metodą POST w momencie zmiany położenia paneli (ludzie mogą bawić się panelami, generując dużo zapisów w jednym czasie), czy np. co 5 s. (niezależnie od tego czy użytkownik rusza panele są generowane zapisy)? 4. Na co jeszcze zwrócić uwagę? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Ustaw by ów AJAX działał tylko przy określonych zdarzeniach, lub określonym czasie. Nie ma sensu co chwilę wywoływać wysyłki. Zrób tak, że AJAX wywołuje się na chwilę przed zamknięciem okna, na chwilę przed opuszczeniem strony (ktoś może przypadkowo kliknąć jakiś link), na puszczenie w drag&drop. Każde z nich niech tworzy znacznik czasowy(czy tam setInterval). Ileś minut po owym znaczniku wywołuje się zapis automatyczny i ustawia on następny punkt zapisu w przyszłości. W ten sposób zapisy automatyczne nie będą (a przynajmniej nie powinny) ze sobą kolidować
|
|
|
|
rugby Optymalizacja zapisywania danych do bazy danych przez AJAX 22.07.2010, 11:14:15
melkorm Może niemądry, ale napiszę co przyszło mi na myśl:... 22.07.2010, 12:44:20
erix Zacznijmy od tego, czy POST rzeczywiście jest Ci t... 22.07.2010, 13:11:48
cojack A ja polecam książkę Head First AJAX. 22.07.2010, 20:06:22 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 03:38 |