Wysłany: 07 Maj 05 14:52 • Temat postu: Pseudoankieta - przyszłość forum
Muszę wam zadać dość ważne pytanie.
Od paru dni pracuję nad przyspieszeniem forum. Dzisiaj ściągnąłem sobie phpBB2 i nazwijmy to "rozebrałem je". Dzię,i temu dowiedziałem się, w jaki sposób cwaniaki zrobili nieczytane posty (tylko nie wiem czy to działa u ludzi z wyłączonymi cookies).
Otóż przedstawię wam teraz nasz system:
Tematy są zapisywane w tabeli forum_post, a posty w tabeli forum_reply. Każdy post ma przydzielone ID autora i datę. (narazie wszystko jasne). Przy dodaniu przez kogoś postu, tematu, wyszukiwani są wszyscy użytkownicy, a potem w tabelę read_history wrzucane jest id użytkownika, oraz namiary na post: Dział ( tak jak teraz np. Info), Kategoria (np. Informacje), oraz temat (np. Pseudoankieta). Razem z id to są 4 rekordy. Zakładając, ze jest (a jest) zarejestrowane 500 userów, to na dzień dzisiejszy mamy tabeli tej ponad 600 000 rekordów - 9.4 MB danych. Tymczasem wszystkie posty zajmują (z tematami) 1.3 Mb. To znaczy, że nieczytane posty zajmują w bazie aż 7 razy więcej niż reszta forum. A nawet powiem więcej, ona zajmuje 92% bazy danych (9.4mb / 11mb w tej chwili). Wniosek - nieczytane tematy są wręcz pasozytem dla całego portalu.
Teraz przedstawię jak zrobiło to PhpBB2.
Na początku wczytują z bazy twoją ostatnią wizytę (za każdym zalogowaniem, jest ona uaktualniana). Następnie, wczytywane są wszystkie TEMATY w których data ostatniego postu jest nowsza niż data twojej ostatniej wizyty (nasze forum też ma takie coś, aby wyswietlać na pierwszej stronie datę ostatniego postu).
Dajmy na to znajdzie ich 10. Przypisuje te posty do kategori w podwójnenj tablicy (czyli do kategori1 dołącza wszystkie posty z tej kategori, do kat2 z kat2 itd.).
Następnie generuje kategorie, i sprawdza, czy liczba rekordów dla danej kategori jest >= 1. Jeżeli coś znajdzie, to pokazuje się wiadoma ikonka .
To samo przy tematach. Jednak najciekawsze jest oznaczanie tych przeczytanych postów . Otóż po włączeniu tematu (nie ważne na której jego stronie, ważne żeby był tam choć 1 z nieczytanych postów, co jest wadą, bo na naszej stronie jak nie pzeczytasz strony 5 a przeczytasz 4 to nadal cię o tym informuje), zapisywane są do ciasteczka ID postów (ale jeszcze zgłębiam ten tajnik). Potem przy tworzeniu kategori, jeżeli natknie się na id takiego pliku w ciasteczku, to ju.z nie oznacza go jako przeczytane. Zaleta za to jest to, że nawet po 20 minutach od niewylogowania się, można sprawdzić posty od ostatniej wizyty (nawet te juz przeczytane).
Generowanie tego trwa naprawdę szybko i ogranicza się do jakichś 0.1 sekundy. Dużo szybciej niż teraz.
Jak widziecie, system PHPbb jest szybszy, tylko jest jeden problem - obecny posób zapisywania postów nie nadaje się do przerobienia, a samo przerobinieie zajmie mi jeszcze z dobre 2-3 tygodnie.
Więc chcialem się dowiedzieć, czy ma wogule sesn wprowadzanie taikiego usprawnienia, wyłaczając w którymś momencie forum na 2-3 dni, czy też szukac alternatywnych rozwiązań, które niewątpliwie będą zjadały zasoby systemowe i tylko spowalniały pracę forum ?
Wybór należy do was, bo ja i tak będę siedział nad tym kilkadziesiąt godzin, z tym że gdybym jednak miał wprowadzić te poprawki mógłbym usprawnić działanie całej strony.
Naszczęście powstająca strona o PSX będzie miała więcej szczęścia, bo nowe forum zostanie w nim zaaplikowane .
Wysłany: 06 Maj 05 12:05 • Temat postu: Tylko w Gdańsku dzieją się takie rzeczy...
CHciałbym zaznaczyć, że to w Gdańsku 10 lat temu, przeprowadzono jeden z nielicznych w polsce "ataków terrorystycznych", a mianowicie chodi mi o wybuch gazu w budynku przy Alei Wojska Polskiego 39. Po 2 dniach gaszenia pożaru w budynku i niemozności dotarcia poniżej 3 piętra (ktore znajdowało się od czasu wybuchu pod ziemią), budynek wysadzono. To był jedyny taki przypadek na skalę krajową.
Również w gdańsku 2001 roku nawiedziły moje miasto tak obfite opady, że na jednym ze skrzyżowań, kałuże miały 2 metry głebokości (jakiś facet bez wyczucia wjechał do niej i się utopił), a cała Orunia byla zalana do nawet 0,5 metra wysokości (skutki są widoczne do dzisiaj).
2 lata temu wybuchł zbiornik Rafineri Gdańskiej.
W gdańsku paliła się również Hala Stoczni w ktorej podczas koncertu zginęło około 40 osób.
Średnio 3 mieszkańców ginie rocznie pod kołami tramwaju.
Jednym słowem raz na kilka lat nasze miasto ma do czynienia z jakąś katastrofą...
Wysłany: 05 Maj 05 12:48 • Temat postu: Tylko w Gdańsku dzieją się takie rzeczy...
To co wczoraj wydażyło się na gdańskim Chełmie - nie zdarza często.
W jadącej ciężarowce z podnośnikiem nagle uniosło sie ramiono - do tego pod wiaduktem. Siła uderzenia byla tak wielka, że ramiono urwało się z ciężarówki, a ta pojechala dalej. Dźwig tak się wygiął, że unuisł wiadukt do góry i teraz robi za jego podstawę. Gdyby jednak strażacy ramie wyjeli - most zapadłbysię. Więc teraz na środku trzypasmowej jezdni powstał ciekawy obiekt turystyczny...
Wysłany: 01 Maj 05 20:58 • Temat postu: Microsoft utopił polskę
Sewi napisał(a):
najwyraźniej pod milenium nie mam tej zakładki..... ale wierze na słowo
GEJts mógłby przynajmniej zatopić jeszcze niemcy........ ja bym się nie obraził ....
może masz w ustawieniach językowych, ale raczej w zegarze (klikasz dwa razy na dole ekranu)
Wysłany: 01 Maj 05 09:19 • Temat postu: Microsoft utopił polskę
Jak widać na załączonym obrazku - brakuje na nim polski !!! W systemach windows 2000/XP na mapce stref czasowych nie ma naszej ojczyzny. Nie wierzycie ?? Kliknijcie w swoim komputerze dwa razy na zegarek, a następnie na zakladkę strefa czasowa.
Wysłany: 22 Kwi 05 22:25 • Temat postu: Czy zna ktoś fajne gry Multi Player??
Komar napisał(a):
Polecam Tibie (www.tibia.pl) i Runescape(www.miniclip.com). Jedne z najlepszych gier online. A poza przeglądarką polecam MTA. Mam łącze 16kb/s (ale praktycznego) i mi chodzi płynnie,
Nie chwaląc się ja mam od 30kb (jak w tej chwili) do 1500kb/s. (a limit sieci wynosi 2500kb/s)
Wysłany: 21 Kwi 05 09:43 • Temat postu: Ma ktoś piosenkę
Z reklam mam tylko filmiki z plusa (pierniczek, gadane i godziny jak w życiu) i muzyke "give a bit of hmm to me". O i mam jeszcze Pilsner Urqel - smark prawdziwej goryczki (naprawde w tv w reklamie jest SMARK).
Wymyśliłem
W celu oszczęności bazy, na forum kazdemu uzytkownikowi bedą pokazywać się TYLKO nieczytane posty z ostatniego tygodnia.
Jak to działa?
Forum będzie usuwało z bazy wsyzstkie dane o nieczytanych postach których data jest starsza niż dokładnie (co do sekundy) tydzień. Dziki temu, jezeli ktoś wogule nie wchodzi na forum, to zaoszczędzimy baze danych, a jeżeli wchodzi raz na tydzień to tak napewno nie czyta wyszstkich postów, bo dzień jest na to za krótki.
Poprawioną wersję forum zaczynam pisac dzisiaj, wprowadzę może w piatek (ale w godzinach nocnych).
O wsyzstkich poprawkach oczywiście was poinformuję.
Narazie forum v2 trochę się przeciąga, bo szukam jakiejś alternatywnej drogi do oznaczania postów jako przeczytane - obecnie zajmują one 1/2 całej bazy danych (więcej niż posty+artykuły razem wzięte) - w bazie z nieczytanymi postami jest już ponad 200 000 (dwieście tysięcy) rekordów! To oznacza, że wyszscy AKTYWNI uzytkownicy razem wzięci mają do przeczytania jeszcze tyle postów! Dlatego w nowym forum wprowadzę unowocześnienie - jezeli nie wejdziecie na stronę dłużej niż tydzień nowe nieczytane posty nie będą wam się zaznaczały.
Chyba, że wymyslę coś lepszego.