Przesunięty przez: joli 29-06-2009, 19:40 |
1.12.4 - Śledzenie nieczytanych postów - zasada działania |
Autor |
Wiadomość |
Przemo


Pomógł: 210 razy Posty: 3148
|
Wysłany: 26-02-2006, 13:50 1.12.4 - Śledzenie nieczytanych postów - zasada działania
|
|
|
W wersji 1.12.4 ponownie zmodyfikowałem system śledzenia tematów nieczytanych w celu optymalizacji.
Jak widać jest to najbardziej uciążliwy problem, jednak ta funkcja jest bardzo wygodna i nie możemy z niej rezygnować.
W tej chwili tabela nieczytanych postów ma 4 pola: user_id, post_id, topic_id, forum_id
W polu użytkowników jest pole z czasem ostatniej aktualizacji jego nieczytanych postów, w konfiguracji forum jest pole z czasem ostatnio napisanego postu. Gdy czas aktualizacji jest mniejszy od czasu ostatniego postu, pobierane są wszystkie posty które zostały napisane po tym czasie oraz do których użytkownik ma uprawnienia czytania, wpisywane są one do tabeli nieczytanych postów i aktualizowany jest czas ostatniej aktualizacji dla tego usera.
W tym samym momencie (losowo raz na 10 razy) z tabeli nieczytanych postów kasowane są posty użytkowników którzy nie odwiedzili forum od XX dni ustawionych w konfiguracji.
Jeżeli ilośc postów nieczytanych dla danego użytkownika (z wyjątkiem Admina, JR Admina i Moderatora) jest większa niż max. ilość postów z konfiguracji, kasowane są wszystkie posty temu użytkownikowi z wyjątkiem postów napisanych przez ostatnie X dni ustawionych w konfiguracji.
Według moich testów na laptopie wielkość tabeli nieczytanych postów nie ma żadnego wpływu na szybkość działania forum, jednak duży wpływ ma ilośc postów nieprzeczytanych dla poszczególnych użytkowników. Na przykład strona główna na moim laptopie generuje się w 0.2 sekundy gdy mam 0-200 nieczytanych postów, gdy jest ich 2000 czas generowania to 0.24 sekundy (w systemie z wersji 1.12.0-1.12.3 drugi czas był 0.3 sekundy)
Mozna powiedzieć, że ilością nieczytanych postów możemy zmienić szybkość/obciążenie forum oraz wielkość tabeli nieczytanych, natomiast ilością dni, która odpowiada za kasowanie nieczytanych dla uzytkowników nieaktywnych przez tą ilość dni regulujemy tylko wielkość tabeli. |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
Gracek

Pomógł: 222 razy Posty: 1781
|
Wysłany: 26-02-2006, 14:13
|
|
|
Przemo, zle dziala.
na stronie glownej:
[maja byc 2 nowe tematy] podczas gdy (widok forum HydePark):
w hostingu to samo:
edit: nie wiem czy to nie dlatego, ze wyczysciles read_history i wszystkie tematy, o ktorych nie ma informacji w bazie oznacza jako nowe |
_________________ ### |
|
|
|
 |
pecador
Pomógł: 292 razy Posty: 2880
|
Wysłany: 26-02-2006, 14:44
|
|
|
Gracek, jest przecież różnica między nieczytanym tematem, a nowym.
Chodzi o to, że to jest liczba tematów, w których są nowe posty. A czy tak to miało być, niewiem. |
|
|
|
 |
Gracek

Pomógł: 222 razy Posty: 1781
|
Wysłany: 26-02-2006, 14:52
|
|
|
no wczesniej bylo inaczej.. byla liczba nieczytanych tematow |
_________________ ### |
|
|
|
 |
Przemo


Pomógł: 210 razy Posty: 3148
|
Wysłany: 26-02-2006, 17:51
|
|
|
Tak, niestety w nowym systemie jesli w jakims temacie jest nowy post to temat jest zliczany do nieczytanych. Zobacze jeszcze, czy da sie to przywrocic tak aby nie zwiekszyc obciazenia. |
|
|
|
 |
Lukas

Posty: 91
|
Wysłany: 17-03-2006, 13:31
|
|
|
jak ustawic aby sledzenie postow bylo wyswietlane dla wszystkich uzytkownikow jak dawniej ?? bo teraz domyslnie wszyscy maja wylaczone pokazywanie nowych postow |
|
|
|
 |
nico89

Posty: 9
|
Wysłany: 18-03-2006, 14:46
|
|
|
Przemo napisał/a: | Tak, niestety w nowym systemie jesli w jakims temacie jest nowy post to temat jest zliczany do nieczytanych. Zobacze jeszcze, czy da sie to przywrocic tak aby nie zwiekszyc obciazenia. |
i co dało sie? ja tez chcaiłbym zeby było nei tak jak jest bo mam nowy 1 post to juz nowy jest tez jedne temat |
|
|
|
 |
Knofel


Pomógł: 69 razy Posty: 796
|
Wysłany: 18-03-2006, 21:35
|
|
|
Witam! Szukałem na forum ale nie udało mi sie nic na ten temat znaleźć...
Moje pytanie brzmi: Czy istnieje możliwosć CAŁKOWITEGO wyłączenia read history dla WSZYTKICH (Nawet Adminów i Moderatorów)... Ustawiłęm sobie w opcjach wszytkie wartości na 0, ale mimo wszytko nadal tematy są zliczane dla wszytkich userów... Niestety musze wyłączyć tą opcje bo zjada mi strasznie dużo bazy danych. |
_________________ Reklamuje swoje forum |
|
|
|
 |
Przemo


Pomógł: 210 razy Posty: 3148
|
Wysłany: 19-03-2006, 13:53
|
|
|
Nie ma mozliwości wyłączenia.
Ustaw ilość pierwszych dni na 14, drugich dni na 3 a ilość postów jak najmniejsza 200-1000 |
|
|
|
 |
Knofel


Pomógł: 69 razy Posty: 796
|
Wysłany: 19-03-2006, 18:20
|
|
|
A no to wielka szkoda. A z takimi ustawieniami, jakie podałeś to po klikunastu godzinach skończyło by mi się miejsce w bazie (Bo niestety zostałmi tylko resztki) dlatego bardzo pomocne było by całkowite wyłaczenie tej opcji. |
|
|
|
 |
Przemo


Pomógł: 210 razy Posty: 3148
|
Wysłany: 20-03-2006, 14:15
|
|
|
Nie przesadzasz? Masz tylko 32 userów... |
|
|
|
 |
Jay Bae
Pomógł: 1 raz Posty: 4
|
Wysłany: 20-03-2006, 15:05
|
|
|
Gdzie w PA jest opcja ustwienia ilosci postow przetrzymywanych dla uzytkownikow, bo nie moge jej zlokalizowac ?? |
|
|
|
 |
Knofel


Pomógł: 69 razy Posty: 796
|
Wysłany: 20-03-2006, 16:26
|
|
|
przemo napisał/a: | Nie przesadzasz? Masz tylko 32 userów... |
We have 320 registered users... Chyba zabrakło ci jednego zera |
|
|
|
 |
Przemo


Pomógł: 210 razy Posty: 3148
|
Wysłany: 20-03-2006, 16:38
|
|
|
Tak zabraklo mi przy pisaniu posta, mialem na mysli 320, to jest bardzo malo ludzi, jaka duza jest tabela read_history? |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
Knofel


Pomógł: 69 razy Posty: 796
|
Wysłany: 20-03-2006, 17:19
|
|
|
Owszem teraz jest mało użytkowników bo usunołem prawie raz tylu.
Obecnie przy 35 postach jest to 15.5 KB (Postów dziennie jest około 100) niby nie dużo, ale niestety baze mam bardzo małą.
A tak przy okazji się spytam co zapisywane jest w tabeli phpbb_posts_text_history ?? Bo ona też zajmuje "aż" 46KB |
|
|
|
 |
|