Изборник Затворити

Велика посећеност сајта – велики проблем

Скраћена веза: https://pedja.supurovic.net/veza/3662

Оно чему највише теже власници сајтова то је да имају велики број посетилаца. Много је веб страна потрошено на објашњавање свих могућих техника које треба примењивати да би се то постигло.

Ретко ко, ипак, помиње проблеме који су последица велике посећености. Понекад само чујемо у вестима како је неки сајт у неком тренутку због великог интересовања посетилаца, пао  хост на коме је такав сајт јер једноставно није могао да издржи оптерећење.

Углавном сматрамо да су ресурси којима сервери располажу многоструко већи од онога што обични сајтови могу да захтевају. Јасно је да Мајкрософт, Гугл, Фејсбук, Твитер и слини морају да обезбеде много ресурса јер име је и посећеност огромна, али нико то не очекује од неког сајта као што је, рецимо, овај мој блог.

Нажалост, то је често заблуда. Ево, баш са овим блогом ја кубурим неко време, јер је почео да троши превише ресурса и да угрожава сервер на коме је постављен.

Никако не могу да нађем разумно објашњење како овај блог може да троши толике ресурсе, када се баш и не може сврстати у значајно посећене сајтове, али бројке не лажу: блог месечно досегне око 30 гигабајта протока, и често оптерети моћни сервер (4 x Intel Xeon CPU 2.33 GHz/4096 Kb cache) до 50% а у неким тренуцима и 90%.

Статистика за децембар каже да је сајт укупно потрошио 22 GB протока, од тога је 8.27 GB потрошено на посетиоце који су прегледали сајт, а остало су углавном потрошили интернет претраживачи индексирањем сајта. Проток од 8.27 GB у том периоду последица је око 11000 јединствених посетилаца, који су направили нешто мање од 17000 јединствених посета отворивши 112 хиљада страна начинивши 654 хиљаде погодатка. У ово нису урачунати претраживачи.

Гугл аналитика се не слаже баш са овом интерном статистиком сајта. По њему, било је укупно око 10600 посетилаца са све претраживачима, који су отворили 20800 страна, али све је то ту негде.

Статистика потрошње протока у децембру

Ко је потрошио сав тај проток?

Питање које ме највише интересује је, наравно, ко је потрошио сав тај проток. Делом, одговор даје статистика. Проток који су корисници направили није интересантан за анализу, јер,претпостављамо, то су направили посетиоци, којима је сајт и намењен. Међутим, они чине 38% укупног протока – ко је појео остало?

Из статистике се врло лако види да су главни део колача однели претраживачи који индексирају овај блог. Само гугл је појео 5.4 GB, за њим следи јаху са 2.5 GB, па неки непознати претраживач са 1.5 GB, мсн који је потрошио 1.1 GB и затим следи низ непознатих или мање познатих претраживача који су знатно мање учествовали у оптерећењу сервера. Дакле, чини се да су главни кривци за велику потрошњу ресурса управо претраживачи.

Да бих то проверио, подесио сам гугл да „олабави“ са индексирањем мог блога, у гугл аналитиксу сам наместио да чита садржај најмањом могућом брзином.Поред тога сам и помоћу sitemap.xml гуглу наложио да значајно смањи учестаност индексирања садржаја на сајту, али и подесио приоритете индексирања страница у тој мери да практично све осим насловне страна има мали приоритет. Циљ ми је био да гугл наведем да што мање оперети блог својим индексирањем.

То сам урадио 19. јануара и већ од 21-ог се у статистици види да је оптерећење ресурса значајно смањено уодносу на просек, скоро на 50% протока, што се показало и у укупној месечној статистици, нарочито у следећим месецима у којима је гугл био обуздаван.

Статистика потрошње протока у јануару

Из овога могу извићи недвосмислен закључак да је претпоставка била тачна – заиста, само гугл прави значајан део оптерећења ресурса, а са њим и други претраживачи.

Шта чинити

Иако сте обично навикли да за проблеме о којима пишем дајем и решења, овај пут нисам сигуран да ћу то моћи да урадим. Резултат овог мог теста ме је ставио пред тежак избор: да ли се определити за брже ажурирање на гуглу и другим претраживачима, или штедњи на ресурсима?

Ово мало истраживање је показало и колико је у ствари реална сатистика посећености, односно делимично открива колика је разлика измерених показатеља посећености у односу на стварно стање, то јест, колики удео у тој статистици чини посета коју у ствари не би ни требало бројати.

Блог као овај мој није баш најбољи узорак. Мени ипак добар рејтинг и велика посећеност нису толико важан циљ као некоме ко држи комерцијалан сајт и коме посећеност значи приходе. Мени посећеност значи трошак, јер овај блог не доноси новац, а ресурсе које троши морам да плаћам. Дилема коју ја имам, неко коме посећеност чини зараду нема: повећање посећености је ултимативан циљ.

На потрошњуреурса на претраживаче и друге роботе, у сушптини утиче број докумената који се налази на сајту. Ако узмемо да претраживач сајт индексира неком устаљеном брзином, то значи да ће индексирање трајати зависно од тога колико докумената има. Ако је њихов број мањи, мање ће бити и оптерећење ресурса од стрне претраживача.

У сваком случају, оптрећење које чине претраживачи се може сматрати константом, ако узмемо да је и обим садржаја сајта константан. Дакле, све промене у потрошњи реусрса настају као последица стварних посетилаца, а што је тих постилаца више то је мањи процентуални удеоача у укупној потрошњи ресурса.

Блогови су, дакле, по дефиницији уприлично незгодном положају јер они управо функционишу на принципима који се одражавају неповољно: на блогу се стално повећава обим, а број посетилаца није толико велики да се инексирање претраживача може занемарити.

Шта на сајту троши ресурсе?

Истраживање коеј сам провео показао ми је ко од посетилаца сајта троши највише ресурса. Не баш прецизно али главног „кривца“ сам открио. То наравно ниеј довољно.

Један од начина да се утврди на шта се троши проток је и да се утврди који то садржаји на самом сајту одлаче највећи део протока. Било би занимљиво утврдити кје кои чланци на блогу стварају велику порошљу, али и који конкретно елементи имају велики утицај да толики ресурси буду потрошени.

Ја рецимо сумњам да добрим делом на потрошњу ресурса утиче релативно велики број фотографија које објављујем на блогу, али ми се чини и да управо претраживачи праве проблем са фотографијама јер их изнова индексирају. Фотографиеј су велиек датотеке и то сигурно има значајан утицај на укупну потрошњу.

Такође, сумњам да немали утицај има ајакс (ajax). Вордпрес је платформа која се много ослања на ајакс, а он онако испод жита и неприметно уме да потроши доста ресурса, поготово ако сајт има скрипте које стално проверавају статусе или освежавају приказ неких информација. То су технике на које често не обраћамо пажњу а оне „једу“ ресурсе само ако страна остане отворена у веб читачу.

Нисам успео да нађем неки згодан алат којим бих могао да анализирам логове на начин који би ми дао одговоре на ова питања. Ако будем могао до одвојим неко време, можда и сам направим програм који ће ту анализу вршити. Засад, овај део проблема и даље остаје у бласти претпоставки и нагађања.

Ако имате неке идеје о анализама које би помогле да се што економичније и оптимално користе ресурси, дискутујте у коментарима.

9 Comments

  1. Aleksandar

    Fina je ova analiza, doduse ne shvatam zasto bi 22Gb bilo neko opterecenje za server.

    Mislim da je veci stos u tome kako se isporucuje sadrzaj. Ukoliko to ide preko ajax-a, ili slike idu preko php-a, nedostatak kesiranja, losi indeksi… to crpe resurse.

    Moja iskustva sa mnogo vecim sajtovima su doprinela nacinu na koji ja optimizujem, ali to se nikako ne odnosi na smanjivanje obima od strane gugla.

  2. Deda

    Preko 40 strana sa slikama sam svojevremeno prebacio na druge servere kako ne bih opterecivao blog. Ukoliko padnu ti serveri, moj blog ce biti busna krpa sa glupavim recenicama.
    Medjutim, i pored toga, dobio sam previse prostora za moj blog promenom mesta boravka celog sadrzaja. I opet , ali opet opterecujem sve svojim blogom. Tako je bilo u predhodne dve adrese , tako je i sada kod jednog od najpouzdanijih programera u Srbiji koji se hvata za glavu od mog bloga.
    Cak smo iskljucili skoro sve pluginove i opet je opterecenje.
    Da se ja razumem makar koliko i ti u ove tehnike, zasigurno bih znao o cemu se radi i sigurno je da bih sproveo analize i provere svega, ovako, mogu samo da citam tvoja iskustva i da nagadjam.

  3. Peđa

    Александре, наравно да проток не оптрећује сервер. То се више одражава на цену хостинга, јер када сајт прави велики проток, обично се мора узети неки скупљи пакет, и обично се тада људи почињу питати, колико се све то исплати.

    Велики проток посредно показује велику активност на сајту, а на блоговима је то битно, јер вордпрес по свему судећи није баш штедљив са ресурсима и уме итекако да оптерети сервер.

    Моје исксутво је такво и свако мало пролазим кроз исту ову причу коју је описао Деда – с времан на време, када посећеност нагло порасте, обично након објављивања неког занимљивог чланка, муку мучим да одржим све у функцији, а притом, уопште немам неку посећеност која би се могла сматрати изузетном.

    Све идеје за оптимизације су добродошле, зато немој штедети тастатуру.

  4. Nemanja

    Sto slike jednostavno ne kacis na neki drugi servis, tipa Flickr pa ih ubacujes u postove, ako to vec radis pardon, mrzi me da sad gledam :)

  5. mileusna

    Za komercijalne sajtove svakako nije prihvatljivo dirati Google indeksiranje, pogotovu ako Google često ažurira sajt, jer je ponuda dobrih a jeftinih servera sa min 1TB mesečnog protoka sve bogatija. Tj. ako je samo protok problem, ako sam server nema problema zbog Googlebota, a i onda je bolje problem rešiti nego dirati Google setovanja. :)

    Kako smanjiti protok? Kada su slike u pitanju, najbolje je forsirati keširanje putem http headera. Isto važi i za css, js i slične statičke datoteke koje se vuku skoro za svaku stranicu. A sam HTML sadržaj je najbolje gzipovati prilikom slanja ka klijentu.

    Ako ti je za utehu, Naslovi su u martu i pored svih optimizacija skrkali 907 GB :)

  6. Aleksandar

    Dakle, radio sam sa velikim sajtovima (b92), kao i osrednje posecenim. Za b92 necu da pricam, iako ne radim vise tamo, opet to spada u neku vrstu poslovnih tajni.
    Moj vordpres nije uopste posecen, niti smatram da ce ikad biti, jer nisam takva vrsta blogera – pisem za svoju dusu. Hostovan je u Krnjaci na ogromnim resursima, tako da bi mogao da istrpi ogromnu posetu.
    Ostale sajtove sam radio u svom CMS-u, gde sam se trudio da maksimalno stedim resurse.

    Aleksinac.net je otprilike sajt koji ima slicnu posecenost kao ovaj tvoj blog i transfer podataka je oko 20GB. Posecenost je od 1000-2000 jedinstvenih dnevno. Hostuje se u Nisu pored jos stotinak sajtova od kojih su neki par puta poseceniji. 90% sajtova je na mom CMS-u. Masina nema nikakvih problema.

    Recimo, mojkvadrat.rs je imao 100 000 otvorenih strana dnevno. Slike su prebacene na nginx server, kao i css, js…
    HTML i CSS su maksimalno optimizovani. Aplikacija dodatno koristi i APC kes. Ne znam tacan podatak o protoku. Posebna paznja je posvecena indeksima u mysql-u zbog pretrage i brza obrade podataka.

    Mojodmor.rs jos uvek nema takvu posetu, ali je na vreme opremljen takvim stvarima. Slike su velike i odmah je za njih zaduzen nginx. Optimizacija je u toku. Mysql se izvrsava periodicno.

    Dakle, koristimo kes tehnike, lagane servere za staticki sadrzaj. Sql je optimizovan i kesiran.

    Ne znam koliko ovo moze biti od pomoci kada je WP u pitanju. Pretpostavljam, na osnovu tvojih ranijih pisanja, da su tvoji serveri u redu. Predlog – pokusaj za pocetak da izmestis slike, css i js na neki brzi server. Apac zna da trosi mnogo memorije.

  7. Goran Aničić

    Imali smo sličan problema na svet.rs, na žalost zbog celebrity tragedije, koja je podigla posećenost i u martu dostigla skoro 2 miliona poseta. Takođe, posećenost uslovila i porast protoka tako da smo u negde oko 20. prevršili 2 terabajta i morali da doplatimo još 1 terabajt protoka. Usled veće posećensoti, veći su i prihodi, tako da to pokriva neplanirani trošak.

  8. Žarko Milićević

    Za protok: tjah… nek ide, ako nije baš katastrofa.

    Za CPU: to već jeste problem, jer usporava i ostale hostovane sajtove. WP je svojevremeno baš puno kritikovan zbog toga, i ima nekoliko plaginova koji rešavaju veće probleme i uvode keširanje stranica. Zahtevnost jesu peglali – ali ja prestao da pratim – tako da nisam siguran koliko je to rešeno u novim verzijama WPa. Lošije valjda nije :)

    Jeff Atwood je to svojevremeno lepo kritikovao na Coding Horroru: http://www.codinghorror.com/blog/2008/04/behold-wordpress-destroyer-of-cpus.html

    A ti probaj W3 Total Cache ili WP Super Cache. Pa javi kako je prošlo ;)

    • Peđa

      Користио сам WP Super Cache али сам морао да га искључим јер је блог престао да приказеј садржаје са њим. Пробаћу овај други.

Оставите одговор на Aleksandar Одустани од одговора

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *

Попуните израз тако да буде тачан: *

Ово веб место користи Акисмет како би смањило непожељне. Сазнајте како се ваши коментари обрађују.