ďťż
BWmedia
Jak zoptymalizować CB - dyskusja po raz n-ty
Wydzielone z :arrow: http://canon-board.info/showthread.php?t=51563 Przyzwyczajony powiadomieniami odnośnie powodów awarii mojego ulubionego forum internetowego, jestem zmuszony zapytać : co dzisiaj się stało? :D Oczywiście, że jest to ukartowana robota określonych kół. ;) Działa? Wiem, że to zbyt oczywiste, ale pewnie patrzyliście już w logi bazy? dużo slow_queries Pewnie za wielkie wątki-tasiemce. Trzeba by znaleźć rekomendację vBulletinu co do wielkości wątków (ilość postów) vs moc serwera bazy danych. Jeśli to to to niektóre wątki trzeba by podzielić i ich początki archiwizować jako zamknięte części. juz sugerowalem archiwizacje w postaci html'owych plikow starszych wątków. Bedzie jeszcze jedna przerwa (wieczorem przy mniejszym ruchu) - trzeba baze polatac bo to ona jest tutaj przyczyną - przebudowac indeksy itp itd bo sie troche posypaly dla niektorych tabel i stad długie wykonywanie czesci zapytan - czyli repeair & optymize ale to wieczorem/w nocy. Na razie poki load jest na znosnym poziomie CB chodzi, jak wskoczy za wysoko bo byc moze bede musial zdjac - wtedy szybciej sie zabiore za baze. pewnie maxtory ;) Cytat: Pewnie za wielkie wątki-tasiemce. A to wszystko przeze mnie :D Cytat: Pewnie za wielkie wątki-tasiemce. Trzeba by znaleźć rekomendację vBulletinu co do wielkości wątków (ilość postów) vs moc serwera bazy danych. Jeśli to to to niektóre wątki trzeba by podzielić i ich początki archiwizować jako zamknięte części. Właśnie jakoś nie mogę znaleźć opcji archiwizacji starych wątków - logiczne jest że powinno być coś takiego Cytat: Pewnie za wielkie wątki-tasiemce. Trzeba by znaleźć rekomendację vBulletinu co do wielkości wątków (ilość postów) vs moc serwera bazy danych. Jeśli to to to niektóre wątki trzeba by podzielić i ich początki archiwizować jako zamknięte części. Cytat: A to wszystko przeze mnie :D No tak, wszystko przez Viteza :roll: Co się pojawia jakiś wątek to go zamyka, żeby posłać pytającego do wątku giganta. Nie powiem, bo w większości przypadków to jest dobre, ale widziałem też dość dużo tematów zamykanych choć mogły żyć własnym życiem i dawać szczegółowe odpowiedzi na zagadnienia nie do końca wyjaśnione albo dobrze schowane w tasiemcach. Wtedy wyszukiwarka mogłaby odnaleźć np. opinie na temat konkretnego modelu torby fotograficznej, zamiast przekopywać się bezsensownie przez giganta: w czym nosić sprzęt. W tym temacie pada wiele zapytań o konkretne modele torb i plecaków a odpowiedzi albo się wcale nie pojawiają albo trzeba przekopywać się przez naście stron, tworzy się chaos i bezsensowna wielowątkowość. Teraz to pewnie temperatura zabija sprzęt komputerowy... Cytat: No tak, wszystko przez Viteza :roll: Co się pojawia jakiś wątek to go zamyka, żeby posłać pytającego do wątku giganta. Nie powiem, bo w większości przypadków to jest dobre, ale widziałem też dość dużo tematów zamykanych choć mogły żyć własnym życiem i dawać szczegółowe odpowiedzi na zagadnienia nie do końca wyjaśnione albo dobrze schowane w tasiemcach. Wtedy wyszukiwarka mogłaby odnaleźć np. opinie na temat konkretnego modelu torby fotograficznej, zamiast przekopywać się bezsensownie przez giganta: w czym nosić sprzęt. W tym temacie pada wiele zapytań o konkretne modele torb i plecaków a odpowiedzi albo się wcale nie pojawiają albo trzeba przekopywać się przez naście stron, tworzy się chaos i bezsensowna wielowątkowość. Nie ma metod idealnych, a wyszukiwanie na siłę powodów byle mi dokopać to zwykłe trollowanie :? Ja proponuję ręczną metodę archiwizacji - za duże wątki podzielić na zamkniętą część archiwalną (np posty sprzed 2010 roku) i najświeższą, aktywną część dyskusyjną, gdzie można się odwoływać do konkretnych postów z części archiwalnej. Pozostaje pytanie do developerów vBulletin vs moc serwera bazy danych - jak w przypadku naszego forum zdefiniować "za duże" wątki? 1000 postów? 10000 postów? 100000? http://www.vbulletin.com/forum/showt...ct-performance Cytat: There is no hard and fast rule. It depends on the server and you can expect that the more posts a thread has the more strain it will place on the server. I jeszcze : http://www.vbulletin.com/forum/showt...nd-performance i http://www.vbulletin.com/forum/showt...-Large-Threads I wiele innych. Na moje to po prostu trzeba zacząć od największych i jak serwer zacznie się wyrabiać przy największym ruchu (pewnie wieczorami), to przestać intensywne dzielenie i np robić wtedy już tylko ze 2 wątki dziennie i tyle. Ja na przykład założyłem nowy wątek galeriowy, ale ktoś mi go połączył ze starym, który był już zamknięty i mógł iść do lamusa (to byłoby dobre odgrodzenie fot ze starego sprzętu z fotami z nowego, no ale, co tam. W razie co, to numeracja jest i można zrobić odcięcie). Cytat: Na moje to po prostu trzeba zacząć od największych Zdefiniuj "największy" , albo granicę. Albo nie... nie ty. Niech Hazan i Lec zdefiniują na podstawie utilisation vs capacity (jest na to w środowisku IT nawet cała wielka działka teorii zwana ITIL, w tym wypadku Capacity Management się kłania), a moderatorzy odpowiednio podzielą :p . Największy = największy, myślę, że w informatyce to słowo znaczy to samo co potocznie. Z największą liczbą postów. Jest duże prawdopodobieństwo, że aktualnie jest tylko jeden największy wątek na CB. (a jeżeli założymy, że jeżeli natrafimy na 2 o tej samej liczbie postów, to wybieramy jeden z nich, to cały czas będziemy mieli tylko jeden największy). Wiemy, że długie wątki męczą serwer. Zatem najdłuższe wątki najbardziej męczą serwer, right? Zatem tnijmy najdłuższe wątki, a granica wyznaczy nam się sama, bo policzyć to wszystko to jest raczej ciężko. Można próbować szacować, ale czy jest sens? Ja bym ciął na wyrost, na zapas. Raz, ale porządnie. Tak jak stare przysłowie mówi : "tnij, k..a, tnij!" :D Cytat: Wiemy, że długie wątki męczą serwer. Zatem najdłuższe wątki najbardziej męczą serwer, right? Zatem tnijmy najdłuższe wątki, a granica wyznaczy nam się sama, bo policzyć to wszystko to jest raczej ciężko. Skończysz studia, zaczniesz pracować a nauczysz się że w obszarze IT naprawianie do czasu aż będzie dobrze jest bez sensu, bo zżera mnóstwo zasobów a nie daje gwarancji sukcesu. Przed naprawą trzeba wyraźnie sobie wyznaczyć granicę, kiedy będzie dobrze, bo inaczej będzie czekać nas kilka napraw zamiast jednej i tak w błędne koło łatwo wpaść. Jeśli postawimy sobie teraz wyraźny cel "na obecnym serwerze, pod obecnym obciążeniem (i pod warunkiem że planowany wzrost obciążenia to nie więcej niż np 30% w skali roku; a jak mierzymy obciążenie? Np ilość zapytań do bazy danych na minutę/godzinę/dobę vs ilość użytkowników/wątków/postów itp) forum powinno działać dobrze gdy wątki są nie dłuższe niż 10000 postów" to będzie to o wiele skuteczniejsze niż "podzielmy i zarchiwizujmy 3 największe wątki, sprawdźmy jak działa, jak nadal źle to dzielmy dalej". Przynajmniej tak to się robi w wielkich korporacjach :roll: . I dlatego do tego typu działań potrzebne są dane i decyzje Leca i Hazana a nie gdybania miclesa. Wiem, też lubię robić porządnie, razem z całą analizą problemu itp, ale CB psuje się już teraz, więc już teraz wymagane są działania doraźne. Co za problem ściąć kilkanaście największych wątków. Oby tylko znowu nie skończyło się tylko na gadaniu. Życzę powodzenia, specjaliści wielkokorporacyjni. Cytat: CB psuje się już teraz, więc już teraz wymagane są działania doraźne. Co za problem ściąć kilkanaście największych wątków. Na razie działa. W tym momencie rozmawiamy o uniknięciu podobnego problemu w przyszłości niż rozwiązaniu trwającego incydentu, skoro forum działa, ale może przestać działać. Analiza problemu i ustalenie limitu powinna potrwać znacznie krócej niż ręczne dzielenie i archiwizowanie wątków, pod warunkiem odpowiedniego zaangażowania (nie spodziewaj się go w weekend) ww osób. Ja bym raczej sprawdził czy przypadkiem to google nie zarzyna serwerów :) Tak było u mnie w firmie, strona dobrze wypozycjonowana, codziennie setka nowych wątków więc i google ma co indeksować. Jeśli zarzyna to zmniejszyć szybkość indeksowania do minimum i po sprawie. Cytat: Na razie działa. No mi wczoraj wieczorem czasami wywalało DB error, a dzisiaj jeszcze wieczora nie ma... Cytat: Nie ma metod idealnych, a wyszukiwanie na siłę powodów byle mi dokopać to zwykłe trollowanie :? Sam zasugerowałeś, a mi się prosto skojarzyło. Ja tam nie wiem jakie są powody problemów, ale dodałem swój głos jak uważam. Jedno jest pewne jak jest coś posegregowane tematycznie lub w podobny sposób to jest o wiele łatwiej szukać. Wszyscy też uczymy wszystkich żeby zanim zadali pytanie przeszukali sobie forum, więc jak dużo osób przegląda bezsensownie wątki giganty to na pewno nie pomaga. Tak uważam. Zresztą fakt, nie ma metod idealnych, ale warto chyba wysłuchać, a nie brać wszystkiego do siebie. Cytat: Zresztą fakt, nie ma metod idealnych, ale warto chyba wysłuchać, a nie brać wszystkiego do siebie. Nie no przeczytaj swoją wypowiedź i oceń obiektywnie - czy nie jest prostym zarzutem skierowanym tylko i wyłącznie w moją stronę? Jak mam tego nie brać do siebie: "No tak, wszystko przez Viteza. Co się pojawia jakiś wątek to go zamyka, żeby posłać pytającego do wątku giganta.". Każdy moderator tak robi (pilnowanie Pkt 3. Regulaminu), nie tylko ja, więc nie dziwne że takie przywalanie się tylko do mnie, biorę do siebie :roll: . Co innego gdybyś nieco konstruktywniej pisał swoje uwagi, bez wycieczek osobistych do mnie :roll: . Cytat: Ustawia sie automat, ktory na podstawie zadanych przez nas kryteriow usuwa go z bazy tworzac statyczne strony HTML. Np - watek bez nowej odpowiedzi przez rok, powinien byc z automatu archiwizowany i tyle. Podejrzewam ze spowodowaloby to redukcje bazy o jakies 60%. Po co przysparzac sobie dodatkowej roboty. A kto i kiedy może ten automat ustawić? nie znam osobiscie vbulletina, ale w necie mozna znalesc fora oparte na tym skrypcie majace tego typu archiwa..... pewnie admin forum lub jakis junior admin etc etc etc = extremely tardy character? TUTAJ chyba nic o tym nie ma. Nawet o zwykłym archiwizowaniu nic sensownego nie znalazłem tak na szybko. A nie lepiej sprawdzić jednak czy to googlebots nie zarzyna serwera. Założyć logi i zapisywać w nich HTTP_USER_AGENT i już. Jeśli okaże się że za dużo jest wejść googlebota to ustawić indeksowanie na minimalne w webmaster tools, założenie logów i ustawienie w webmaster tool to powiedzmy 30 minut pracy :) Ustawienia w szybkości indeksowania działają przez 90 dni więc przez ten czas można obserwować serwer i log. Przykład użycia webmaster toola - http://yfrog.com/n1webmastertoolj Vitez, nie zgodzę się z Tobą, naprawiać trzeba zawsze ale zależy jakimi metodami. W przypadku forum nie doszło do tego że wątki są za duże, bo przecież to troche inaczej działą. Po prostu sporo więcej ludzi korzysta z forum. Cytat: Vitez, nie zgodzę się z Tobą, naprawiać trzeba zawsze ale zależy jakimi metodami. Przecież ja właśnie o metodach mówiłem. Cytat: W przypadku forum nie doszło do tego że wątki są za duże, bo przecież to troche inaczej działą. Po prostu sporo więcej ludzi korzysta z forum. W przypadku tego forum jakiekolwiek gdybanie o próbach naprawy bez dostępu do danych administracyjnych i hostingowych to właśnie co najwyżej gdybanie. Cytat: Nie no przeczytaj swoją wypowiedź i oceń obiektywnie - czy nie jest prostym zarzutem skierowanym tylko i wyłącznie w moją stronę? Jak mam tego nie brać do siebie: "No tak, wszystko przez Viteza. Co się pojawia jakiś wątek to go zamyka, żeby posłać pytającego do wątku giganta.". Każdy moderator tak robi (pilnowanie Pkt 3. Regulaminu), nie tylko ja, więc nie dziwne że takie przywalanie się tylko do mnie, biorę do siebie :roll: . Co innego gdybyś nieco konstruktywniej pisał swoje uwagi, bez wycieczek osobistych do mnie :roll: . Na kilka akapitów które napisałem są tylko 2 zdania bezpośrednie do moderatora, który akurat udziela się w tym wątku i przez przypadek jest też bardzo aktywny w innych kwestiach. Zawsze staram się być obiektywny i też widać to w mojej wypowiedzi, z której wybrałeś tylko negatywny fragment na Twój temat, ale przeczytaj następne zdanie: "Nie powiem, bo w większości przypadków to jest dobre, ale widziałem też dość dużo tematów zamykanych choć mogły żyć własnym życiem i dawać szczegółowe odpowiedzi na zagadnienia nie do końca wyjaśnione albo dobrze schowane w tasiemcach." I przykład pozytywnego działania na pytanie dość ogólne: http://canon-board.info/showthread.p...ighlight=torba A teraz przykład działania, które są dla mnie wątpliwe bo pytania są dość szczegółowe: http://canon-board.info/showthread.p...ighlight=torba http://canon-board.info/showthread.p...ighlight=torba Szukanie zajęło mi chwilkę i trzeba przyznać, że statystycznie moderator Vitez jest dość aktywny w tych kwestiach. Zaznaczam jeszcze raz, że szanuje tą pracę, ale chciałem również zaznaczyć pewne negatywne strony takiego działania. Wszak jak jest coś dobrze to nie trzeba poprawiać. archiwizacja w vbulletin: http://easycaptures.com/3140191819 http://www.crawlability.com/vbseo/ i robi nam takie archiwa jak to: http://forum.e-palarnia.pl/archive/index.php/ seo mozna wylaczyc zeby nie dorzucalo roboty maszynie, a korzystac tylko z opcji archiwizowania. @lec - dzięki, sprawdzę to. Na razie wyczyściłem bazę z starych niepotrzebnych logów. Mam nadzieję, że widać jakikolwiek efekt. jakies sukcesy na tym polu ? A wypowiem się ze swojego doświadczenia: Cytat: juz sugerowalem archiwizacje w postaci html'owych plikow starszych wątków. Bez sensu, nikt sensowny nie cachuje samego htmla, tylko same dane "dużo slow_queries" dużo ta baza zajmuje? jak wyglądają na niej indexy? Obejmują zapytania wszystkiego typu na tej tabeli? Można zobaczyć tego "slow_queriesa" i explaina odnośnie tego zapytania? W ogóle jak wygląda development tego forum? Zmieniacie coś w kodzie? Może warto pomyśleć nad jakąś warstwą pośrednią, która cachuje dane pomiędzy bazą a phpami? Napewno odciąży to baze. A jeżeli nie, to może chociaż podział poziomy bazy? Widzę, że temat ucichł, a być może wystarczyło by zmienić strukturę bazy aby polepszyć wydajność. Cytat: jakies sukcesy na tym polu ? Wyciąłem bardzo dużo różnego rodzaju logów, które tworzone były od początku istnienia CB.
|
Tematy
|