TheBlood 0 Zgłoś post Napisano Styczeń 4, 2007 Ekhem...witam, Po wstępnej radosci z doskonalej konfiguracji by rusel (przy 100 osobach online czas generowania SQL poniżej 0,3 sekundy, malutki overload itd) po południu zaczęły się kłopoty...Przez nieuwagę zaznaczylem w phpmyadminie optymalizację największej tabeli w bazie, na forum bylo ponad 100 osob, serwer pożadnie zamulil przez kilkadziesiąt sekund i podjąłem decyzję o jego restarcie, bo nawet ftp nie odpowiadało. Po restarcie okazało się, że wczesniej optymalizowana tabela jest ciągle w użyciu, tak więc naprawilem ją i gdy już się wydawało, że po problemie...Zauważyłem znaczne spowolenie działania forum (czas generowania dochodzący do 3 sekund), ogromny wzrost overload dochodzący nawet do...70 i obciążenie prawie całego procesora, mimo mniejszej liczby odwiedzających online. load average: 4.94, 3.81, 4.98Tasks: 95 total, 4 running, 91 sleeping, 0 stopped, 0 zombie Cpu(s): 98.0% us, 1.7% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.3% si Mem: 1016412k total, 688904k used, 327508k free, 21916k buffers Swap: 514072k total, 0k used, 514072k free, 261568k cached 24459 www-data 25 0 123m 29m 10m R 23.3 2.9 0:18.09 apache224437 www-data 25 0 127m 31m 8720 R 21.3 3.2 0:16.79 apache2 24501 www-data 16 0 121m 28m 12m S 15.0 2.9 0:04.85 apache2 24443 www-data 15 0 120m 27m 11m S 11.0 2.7 0:07.54 apache2 24455 www-data 15 0 121m 27m 11m S 10.7 2.7 0:06.25 apache2 24510 www-data 15 0 121m 27m 11m S 10.3 2.7 0:02.98 apache2 24507 www-data 15 0 121m 26m 10m S 6.0 2.7 0:03.85 apache2 1487 mysql 15 0 139m 51m 4688 S 1.7 5.1 6:02.93 mysqld 24461 www-data 15 0 120m 28m 12m S 0.3 2.9 0:06.21 apache2 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 2656 540 ? Ss 20:00 0:00 init [2]root 2 0.0 0.0 0 0 ? SN 20:00 0:00 [ksoftirqd/0] root 3 0.0 0.0 0 0 ? S 20:00 0:00 [watchdog/0] root 4 0.0 0.0 0 0 ? S< 20:00 0:00 [events/0] root 5 0.0 0.0 0 0 ? S< 20:00 0:00 [khelper] root 6 0.0 0.0 0 0 ? S< 20:00 0:00 [kthread] root 130 0.0 0.0 0 0 ? S< 20:00 0:00 [kblockd/0] root 131 0.0 0.0 0 0 ? S< 20:00 0:00 [kacpid] root 211 0.0 0.0 0 0 ? S< 20:00 0:00 [kseriod] root 243 0.0 0.0 0 0 ? S 20:00 0:00 [pdflush] root 244 0.0 0.0 0 0 ? S 20:00 0:00 [pdflush] root 245 0.0 0.0 0 0 ? S< 20:00 0:00 [kswapd0] root 246 0.0 0.0 0 0 ? S< 20:00 0:00 [aio/0] root 247 0.0 0.0 0 0 ? S< 20:00 0:00 [jfsIO] root 248 0.0 0.0 0 0 ? S< 20:00 0:00 [jfsCommit] root 249 0.0 0.0 0 0 ? S< 20:00 0:00 [jfsSync] root 250 0.0 0.0 0 0 ? S< 20:00 0:00 [xfslogd/0] root 251 0.0 0.0 0 0 ? S< 20:00 0:00 [xfsdatad/0] root 969 0.0 0.0 0 0 ? S< 20:00 0:00 [kpsmoused] root 978 0.0 0.0 0 0 ? S< 20:00 0:00 [kjournald] root 1127 0.0 0.0 0 0 ? S< 20:00 0:00 [kjournald] root 1345 0.0 0.0 6532 788 ? Ss 20:01 0:00 /sbin/syslogd root 1348 0.0 0.0 2656 404 ? Ss 20:01 0:00 /sbin/klogd bind 1355 0.0 0.2 43396 2772 ? Ss 20:01 0:00 /usr/sbin/named - root 1365 0.0 0.2 40280 2788 ? Ss 20:01 0:00 /usr/sbin/lwresd root 1372 0.0 3.3 66188 33564 ? Ss 20:01 0:00 /usr/sbin/spamd - root 1377 0.0 0.0 3864 396 ? S 20:01 0:00 /usr/sbin/courier root 1378 0.0 0.0 7068 552 ? S 20:01 0:00 /usr/lib/courier/ root 1384 0.0 0.0 8836 732 ? S 20:01 0:00 /usr/sbin/courier root 1386 0.0 0.0 3732 352 ? S 20:01 0:00 /usr/sbin/courier root 1397 0.0 0.0 8832 732 ? S 20:01 0:00 /usr/sbin/courier root 1399 0.0 0.0 3732 352 ? S 20:01 0:00 /usr/sbin/courier root 1403 0.0 0.0 7068 260 ? S 20:01 0:00 /usr/lib/courier/ root 1406 0.0 0.0 8832 736 ? S 20:01 0:00 /usr/sbin/courier root 1408 0.0 0.0 3868 488 ? S 20:01 0:00 /usr/sbin/courier root 1410 0.0 0.0 7068 260 ? S 20:01 0:00 /usr/lib/courier/ root 1411 0.0 0.0 7068 260 ? S 20:01 0:00 /usr/lib/courier/ root 1412 0.0 0.0 7068 260 ? S 20:01 0:00 /usr/lib/courier/ root 1413 0.0 0.0 11364 664 ? S 20:01 0:00 /usr/lib/courier/ root 1423 0.0 0.0 8836 732 ? S 20:01 0:00 /usr/sbin/courier root 1425 0.0 0.0 3732 348 ? S 20:01 0:00 /usr/sbin/courier root 1430 0.0 0.0 6520 732 ? Ss 20:01 0:00 /usr/sbin/inetd root 1439 0.0 3.4 70636 35040 ? S 20:01 0:00 spamd child root 1440 0.0 3.4 70788 35172 ? S 20:01 0:00 spamd child root 1441 0.0 3.4 71116 35508 ? S 20:01 0:00 spamd child root 1442 0.0 3.4 70620 34992 ? S 20:01 0:00 spamd child root 1443 0.0 3.1 66188 31948 ? S 20:01 0:00 spamd child root 1450 0.0 0.1 10024 1420 ? S 20:01 0:00 /bin/sh /usr/bin/ mysql 1487 3.7 5.1 142828 52336 ? S 20:01 5:57 /usr/sbin/mysqld root 1488 0.0 0.0 2628 516 ? S 20:01 0:00 logger -p daemon. root 1624 0.0 0.1 18288 1536 ? Ss 20:01 0:00 /usr/lib/postfix/ postfix 1628 0.0 0.1 16548 1412 ? S 20:01 0:00 qmgr -l -t fifo - root 1635 0.0 0.1 31792 1264 ? Ss 20:01 0:00 /usr/sbin/saslaut root 1638 0.0 0.0 31792 840 ? S 20:01 0:00 /usr/sbin/saslaut root 1639 0.0 0.0 31792 776 ? S 20:01 0:00 /usr/sbin/saslaut root 1640 0.0 0.0 31792 776 ? S 20:01 0:00 /usr/sbin/saslaut root 1641 0.0 0.0 31792 776 ? S 20:01 0:00 /usr/sbin/saslaut root 1647 0.0 0.1 18284 1088 ? Ss 20:01 0:00 /usr/sbin/sshd root 1653 0.0 0.0 2704 316 ? Ss 20:01 0:00 /sbin/mdadm -F -i daemon 1656 0.0 0.0 6936 404 ? Ss 20:01 0:00 /usr/sbin/atd root 1659 0.0 0.0 9052 840 ? Ss 20:01 0:00 /usr/sbin/cron root 1672 0.0 0.0 2648 500 tty1 Ss+ 20:01 0:00 /sbin/getty 38400 root 1673 0.0 0.0 2652 504 tty2 Ss+ 20:01 0:00 /sbin/getty 38400 root 1674 0.0 0.0 2652 504 tty3 Ss+ 20:01 0:00 /sbin/getty 38400 root 1675 0.0 0.0 2648 496 tty4 Ss+ 20:01 0:00 /sbin/getty 38400 root 1676 0.0 0.0 2648 500 tty5 Ss+ 20:01 0:00 /sbin/getty 38400 root 1677 0.0 0.0 2648 500 tty6 Ss+ 20:01 0:00 /sbin/getty 38400 root 9714 0.0 0.2 38624 2268 ? Ss 20:50 0:00 sshd: root@pts/0 root 9799 0.0 0.1 10136 1680 pts/0 Ss 20:51 0:00 -bash root 20142 0.0 1.2 113476 12956 ? Ss 22:04 0:00 /usr/sbin/apache2 root 20143 0.0 0.1 10064 1564 ? S 22:04 0:01 /usr/bin/perl /us postfix 22509 0.0 0.1 16512 1372 ? S 22:23 0:00 pickup -l -t fifo postfix 22520 0.0 0.1 16860 1672 ? S 22:23 0:00 trivial-rewrite - www-data 24121 2.8 2.9 124740 29524 ? S 22:37 0:05 /usr/sbin/apache2 www-data 24122 2.8 2.8 124788 29008 ? S 22:37 0:06 /usr/sbin/apache2 www-data 24155 2.8 2.7 124380 28408 ? S 22:37 0:05 /usr/sbin/apache2 www-data 24437 7.8 2.2 122388 23156 ? S 22:40 0:00 /usr/sbin/apache2 www-data 24442 15.3 2.3 122716 24076 ? S 22:40 0:00 /usr/sbin/apache2 www-data 24443 0.0 0.7 113476 7388 ? S 22:40 0:00 /usr/sbin/apache2 root 24446 0.0 0.0 8780 932 pts/0 R+ 22:40 0:00 ps -aux Czy spotkał się ktoś już z podobnym problemem? Jest na to jakaś rada? Naturalnie najlepiej byłoby skontaktować się z samym ruselem, ale coś słuch o nim zaginął... Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrick Zgłoś post Napisano Styczeń 4, 2007 Pokazałeś dużo oprócz strony sprzętowej ... Ale pewnie od strony programowej dało by się podnieść wydajność zmieniając konfiguracje bądź przykładowo serwer www. ps. skontaktować się z samym ruselem, ale coś słuch o nim zaginął... znam ten ból ... Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 4, 2007 Sprzęt to Athlon 3000+ 64bit i 1GB ram. Co do zmiany serwera: mam nadzieję, że to nie bedzie konieczne tymbardziej, że jeszcze niedawno wszystko działało wyśmienicie przy większym obciążeniu...Zaś co do poprawy wydajności: ekhem...może jakieś sugestie na początek? Byłbym wdzięczny. Udostępnij ten post Link to postu Udostępnij na innych stronach
Charlie root 0 Zgłoś post Napisano Styczeń 5, 2007 killall apache2 i odapl jeszcze raz, badz poczekaj na rusela. rocoto11? Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 5, 2007 Skillowalem wszystkie apache i uruchomilem je od nowa. Niestety 0 efekt. Obecnie zuzycie cpu: 98% Ramu: 52% Co jeszcze ciekawsze zaczelo swapu uzywac (30% zuzycia), czego wczesniej nie bylo (co widac po pierwszym logu :|) Brak mi pomyslow, przegladalem config w pliku apache2.conf, to wszystko jest skonfigurowane zgodnie z poradami znalezionymi w kilku tematach na wht (a co konfigurowal rusel) Tak, rocoto Udostępnij ten post Link to postu Udostępnij na innych stronach
patryk 451 Zgłoś post Napisano Styczeń 5, 2007 Ekhm, nie żebym już dwa tygodnie temu mówił coś o wydajności Twojego skryptu )... Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 6, 2007 Obecnie na forum mam 37 osob online a proc jest mielony jakby na moim forum bylo z 500...To nie jest normalne przeciez... Zresztą przed niefortunną optymalizacją tabeli wszystko smigalo a obciazenie bylo minimalne, wiec tu raczej sam skrypt ma malo do gadania, tymbardziej ze na forum zostala przebudowana wyszukiwarka i read_history na wzor vb (co najmniej 2x mniej zapytan, brak indeksacji slow w dodatkowej tabeli itd) i co za tym idzie generowane obciazenie znacznie mniejsze... Udostępnij ten post Link to postu Udostępnij na innych stronach
Noone 19 Zgłoś post Napisano Styczeń 6, 2007 A z tą tabelą w bazie na pewno jest wszystko w porządku? Przymula zawsze czy jak ktoś jest na forum i korzysta z niej? Może małe przywrócenie z backupu pomoże? Z dokumentacji mysql: Warning: Killing a REPAIR TABLE or OPTIMIZE TABLE operation on a MyISAM table results in a table that is corrupted and unusable. Any reads or writes to such a table fail until you optimize or repair it again (without interruption). Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 6, 2007 Heh, dzis na forum o 12 weszlo 185 osob w jednej chwili (nowy rekord) i serwer się wysypal, tzn padl. Dopiero hard reboot pomogl :/ Z samym muleniem sprawa wyglada nastepujaco: Wchodzi 100 osob jednoczesnie, obciazenie duze, czas generowania sql po 2 sek, ale jakos dziala. A potem ni stad ni zowad przy np 70, czy 60 osobach serwer zaczyna tracic stabilnosc, overlod rosnie do np 18, zjada prawie caly ram, wowczas restartuję apache. Forum dziala przez ok. minutę jak marzenie, czas generowania piękny itp, ale jednoczesnie generowane obciazenie nie spada ponizej pewnego pulapu (50% zuzycia zasobow). Nie ma reguly - raz zaczyna mulic przy 60 osobach, a pozniej przy 100 dziala w miarę normalnie... Baza jest jak najbardziej sprawna, bo sprawdzalem. Co prawda to co zacytowales, trochę mnie zmartwilo, ale tak na zdrowy rozum, gdyby bylo cos z bazą, to raczej obciazenie generowane przez mysql powinno byc wysokie, a nie przez apache, prawda? Choc nie wiem jak to jest w praktyce... Macie jakies pomysly? Udostępnij ten post Link to postu Udostępnij na innych stronach
HaMtAr0 0 Zgłoś post Napisano Styczeń 6, 2007 może zrób tak Wyłącz apache'a, poprzednio usuń z forum tabele read_history i te używane do wyszukiwania ( nie pamiętam jak się nazywały ) i z konsolki na mysql napraw baze, potem w pa można odbudować tabele search... Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 6, 2007 może zrób tak Wyłącz apache'a, poprzednio usuń z forum tabele read_history i te używane do wyszukiwania ( nie pamiętam jak się nazywały ) i z konsolki na mysql napraw baze, potem w pa można odbudować tabele search... W moim forum historia nieczytanych postow oraz wyszukiwarka zostaly przebudowane. Teraz historia nieczytanych postow dziala w ramach tabeli z userami. Silnik wyszukiwarki zaś działa na zupełnie innej zasadzie niż tradycyjna szukajka w przemo. Slowa nie są indeksowane w oddzielnej tabeli (wordmatch bodajze). Obecna wyszukiwarka przeczesuje cale posty w fulltext tabeli posts. Dzieki tym zabiegom baza zajmuje 0 30% mniej miejsca, a samo forum generuje znacznie mniejsze obciazenie. Tak wiec wiesz... wyczyszczenie read history, czy wyczyszczenie tabel wordmatch nic nie da, bo one i tak są puste, a wywalenie postow w fulltext nie wchodzi w grę z wiadomych powodow Udostępnij ten post Link to postu Udostępnij na innych stronach
HaMtAr0 0 Zgłoś post Napisano Styczeń 7, 2007 Dzieki tym zabiegom baza zajmuje 0 30% mniej miejsca, a samo forum generuje znacznie mniejsze obciazenie. jakoś wątpię żeby ten zabieg był mniej zasobożerny... Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 7, 2007 Cos wczoraj mialem dobry dzien, bo o 3 wpadlem na pewien pomysl, ktory okazal się strzalem w dziesiątkę. Okazało się, że apache jest zajeżdzane przez zbyt duzy plik cache odpowiedzialny za strukturę i kolory grup. Usunalem dwie najwieksze z nich, wielkosc pliku cache zmniejszyla się o 98% a obciazenie serwera spadlo o polowę. Load nawet 1.00 nie przekracza...Trochę jeszcze popracuję nad tym cachem i myslę, że będę mial najszybciej dzialajace przemo o tej wielkosci w Polsce Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 8, 2007 Cos wczoraj mialem dobry dzien, bo o 3 wpadlem na pewien pomysl, ktory okazal się strzalem w dziesiątkę. Okazało się, że apache jest zajeżdzane przez zbyt duzy plik cache odpowiedzialny za strukturę i kolory grup. Usunalem dwie najwieksze z nich, wielkosc pliku cache zmniejszyla się o 98% a obciazenie serwera spadlo o polowę. Load nawet 1.00 nie przekracza...Trochę jeszcze popracuję nad tym cachem i myslę, że będę mial najszybciej dzialajace przemo o tej wielkosci w Polsce No i pieknie. Przez caly wczorajszy dzien bylo dobrze, ale tak zle jak dzis to jeszcze nie bylo. Caly czas 100% apache i 98% ram :/ Macie jakies pomysly? ;/ UPDATE: Heh, ddosuje mnie konkurencja. Udostępnij ten post Link to postu Udostępnij na innych stronach
HaMtAr0 0 Zgłoś post Napisano Styczeń 8, 2007 No i pieknie. Przez caly wczorajszy dzien bylo dobrze, ale tak zle jak dzis to jeszcze nie bylo. Caly czas 100% apache i 98% ram :/ Macie jakies pomysly? ;/UPDATE: Heh, ddosuje mnie konkurencja. to z dosowaniem prze konkurencje to żart? może zrób w cronie żeby Ci kasował cache co kilka godzin jeżeli te ddosowanie to nie żart... Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 8, 2007 Myslalem, że to ddos, bo na to wskazywala ilosc połączeń do apache i ilosc zjadanego transferu, ale chyba wygląda na to, ze apache się skopal i zapętla, bo procesy zombie liczę już w dziesiątkach. Sprawa cache jest zamknieta, bo ich laczna wielkosc (kilkadziesiat plikow) nie przekracza 200kb. Jutro z administratorami sprobuję przeinstalowac apache & spolkę do nowszych wersji, gdyz obecne są z epoki kamienia lupanego i zobaczymy... Udostępnij ten post Link to postu Udostępnij na innych stronach
k4 0 Zgłoś post Napisano Styczeń 17, 2007 Jaki to skrypt ? Troche dziwne, na tak potezna maszyne aby tyle zzeralo. U mnie przy 188 ludzikow online wychodzi: load average: 1.78, 1.66, 1.92 Cpu(s): 30.1% us, 0.3% si Mem: 515808k total, 412368k used, 103440k free, 34452k buffers a maszynka to zwykly 1ghz + 512 ram, oczywiscie pentium. Do tego apache2 + PHP4 + APC Nic fikusnego tam nie jest poinstalowane. No chyba ze vBulletin + APC tak nadgania. Ostatnio na necie slyszy sie o ngnix'ie. Mial ktos z tym jakies doswiadczenia? Ponoc dwukrotnie lepsza wydajnosc od Apacha ? Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 18, 2007 Czy będziesz tak miły i podasz mi konfigurację swojego apache? Skrypt to phpbb by przemo 1.12.5 Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 19, 2007 Dobra, juz sobie w sumie poradzilem z konfiguracją apache. Potrzebuję jedynie na wszelki wypadek skryptu, który np po przekroczeniu wartosci load 10.0 restartował usługę apache2 (a nie caly serwer). Czy ktoś zna taki skrypt? Udostępnij ten post Link to postu Udostępnij na innych stronach
beliq 442 Zgłoś post Napisano Styczeń 19, 2007 monit http://www.tildeslash.com/monit/ Udostępnij ten post Link to postu Udostępnij na innych stronach
riklaunim 0 Zgłoś post Napisano Styczeń 19, 2007 Może przy optymalizacji/uszkodzeniu tabeli straciłeś na niej indeks/klucz ? Udostępnij ten post Link to postu Udostępnij na innych stronach
TheBlood 0 Zgłoś post Napisano Styczeń 19, 2007 Ok dzięki bellerofont, przyjrzę się temu hm..programowi. riklaunim wczytalem backup bazy z rana i już było w porządku. Co do samej bazy: jest w 100% sprawna, gdyż niedawno zamówiłem audyt w pewnej firmie i wynik był pozytywny Udostępnij ten post Link to postu Udostępnij na innych stronach