Linux CDN sinhronizācija, failu hostēšana

Moderatori: janis.wd, Vecākie lietotāji

User avatar
Wuu
E-žurnālists
Atbildes: 2918
Pievienojies: 23 Aug 2008, 10:32
Reputācija: 0

Linux CDN sinhronizācija, failu hostēšana

Post no Wuu » 02 Feb 2013, 13:42

Priekš UOC.LV paņēmu vel vienu VPN serveri (Tāpēc ka tik lēti ir grēks neņemt). Jebkurā gadījumā, jau esmu palaidis jauno mājaslapu. Vel viss nav pabeigts, bet galvenais ko es nevaru izdomāt līdz galam.

1. Ko lietot failu hostēšanai, ieskaitot ~300mb video failus. Man liekas Apache2 netur krunku! Pirmajā dienā atvēru jauno lapu, saskrēja cilvēki skatīties un apache2 nokārās uzreiz. Ne CPU, ne RAM's, ne HDD nedarbojas pat uz 20%. Bet lapu atvērt nevarēja.

2. Kā sinhronizēt statiskos failus starp serveriem? Jo viens serveris ražos kompresētus JPG un citu drazu. Bet kā lai uzreiz tos pārvieto uz otru serveri?

Citi ieteikumi ātruma uzlabošanai ir laipni gaidīti.
Image

User avatar
APOC
Reģistrēts lietotājs
Atbildes: 525
Pievienojies: 05 Feb 2009, 02:51
Reputācija: 0

Post no APOC » 02 Feb 2013, 15:27

1. httpd.conf & MPM Worker sadaļa visticamākais atrisinās tavas problēmas. Palasi kas ir iekš web servera logiem. Visticamākais visi threads pilni un jauni netiek veidoti, tāpēc arī nevar atvērt.
Ielsēdz iekš httpd.conf statistikas moduli un pēti kas notiek pie lielām masām.

User avatar
root
Reģistrēts lietotājs
Atbildes: 2173
Pievienojies: 16 Mar 2010, 15:26
Reputācija: 1

Post no root » 02 Feb 2013, 15:48

Apache CDN sistēmām neviens neizmanto. Ar uzsvaru uz NEVIENS. Nginx vai sliktākajā gadījumā lighthttpd.

Tātad - Nginx failiem, ar atslēgtu logošanu, bez PHP (jo tas ir CDN!), MySQL un citas drazas. Failu sinhronizēšanai vajadzētu pietikt ar to pašu Rsync (rsync.samba.org).

Taču, ņem vērā, ka sinhronizēšana nekad nenotiek uzreiz, tikai pārvietošana. Tāpēc, tev nepieciešama messaging sistēma, kas informē lapu, kad kur un kāds fails ir pieejams. Notiek tas apmēram tā -

rsync izsaucas tad, kad ir jauni faili (izsauc lapa, piemēram, bashscriptu), savukārt tad, kad rsync savas lietas ir izdarījis, Tev jāizsauc kaut kāds cits skripts, kas reģistrē, kur pieejams fails. Pieņemu, ka visi faili tev reģistrējas DB, tad ir vienkārši - izveido jaunu kolonnu, kur glabāt 1/0 katram CDN serverim, kas tev ir vai būs - pēc tam, kad rsync ir nosinhronizējies tu veic updeitu un reģistrē, ka lūk, fails tev ir pieejams tur un tur. Pēc tam, tā kā tu jau lapā izvadi faila adresi no DB, paņem randomā adresi un dali apmeklētājiem, e.g. vienreiz vienu, otreiz otru, vai vislabāk - sesijā saglabā, kāds CDN tiek lietots kādam apmeklētājam un katram nākamajam iedosi nākamo CDN listē - round-robins.

Kā arī, apsver domu par http://aws.amazon.com/cloudfront/ vai vismaz http://www.cloudflare.com/


Pie tam, ja daudz apmeklētāju, apsver domu default sesiju dzini PHP nomainīt uz memcache. http://www.php.net/manual/en/session.co ... ve-handler

User avatar
Wuu
E-žurnālists
Atbildes: 2918
Pievienojies: 23 Aug 2008, 10:32
Reputācija: 0

Post no Wuu » 02 Feb 2013, 16:30

Paldies uzstādīts, paskatīšos varbūt nebūs vairs tie mistiskie slowdown ik pa brīdim. Bet nesaprotu, Apache 2 neatbalsta daudz kodola procesorus. Vai arī man konfigurācijā limiti visus nobremzēja?
Image

User avatar
Wuu
E-žurnālists
Atbildes: 2918
Pievienojies: 23 Aug 2008, 10:32
Reputācija: 0

Post no Wuu » 02 Feb 2013, 16:33

Paldies tieši bija doma par Nginx. Būs ko padomāt.
Memcaths jau tiek lietots. Un par cloudflare ir doma uzstādīt, kad pabeigšu visu iecerēto.
Es uz amazoni skatījos, bet es to cenu politiku nesaprotu. Pietam man galvenajā lapā ir 41 http reqesti, man Amazons sālīti sanāks. Cik saprotu.
Image

User avatar
APOC
Reģistrēts lietotājs
Atbildes: 525
Pievienojies: 05 Feb 2009, 02:51
Reputācija: 0

Post no APOC » 02 Feb 2013, 17:16

Apacis 2 noteikti atbalsta daudz kodolu procesorus. Un par procesu sadalīšanu starp corēm atbild OS ne Apacis. Visticamākais, ka limiti konfigurācijā.

Es ikdienā ņemos ar Oracle HTTP Serveri, kas tas pats Apacis vien ir. Nezinu kā pareizi šie logi saucas uz Apache, bet uz OHS tie ir ohs/opmn/error_logs/access_logs logi, kuriem vērts pievērst uzmanību. Gadījumā ja būs problēmas ar threads/startservers/... to visu error_logos redzēsi.

Mad182
Reģistrēts lietotājs
Atbildes: 903
Pievienojies: 14 Mar 2007, 15:16
Reputācija: 0
Atrodas: Latvija

Post no Mad182 » 03 Feb 2013, 10:45

Statiskajam saturam (bildēm, css, js) es ieteiktu izmatot https://www.varnish-cache.org/
Darbā ir novērots, kā tas strādā visai noslogotam portālam, un pats arī esmu kaut kad spēlējies un dabūjis slodzes 2-3x mazākas pīķa stundās pat vienkārši uzliekot varnish instanci uz tā paša servera.
Palasi, tas ir spēks :)

Nezinu gan cik efektīvi būtu izmantot varnish video strīmošanai, ar to man nav pieredzes.


Ja drīkst zināt, par kādiem pieprasījumu/apmeklētāju skaitiem apmēram ir runa? Man kinda neticas, ka tev tur ir tāds traffiks, lai vajadzētu vairākus serverus un cdn. Pēc foruma aktivitātēm un visa pārējā spriežot, man līdzīga veida hobijam - exs.lv ir vismaz reizes 10 vairāk apmeklētāju, un tur viss bez problēmām griežas uz vienas virtuālās mašīnas ar apache, kuram konfigā šķiet nav mainīts pilnīgi nekas.

User avatar
Wuu
E-žurnālists
Atbildes: 2918
Pievienojies: 23 Aug 2008, 10:32
Reputācija: 0

Post no Wuu » 17 Mar 2013, 14:16

Sveiki, atgriežoties pie vecās tēmas. Apache serveris netur krunku, pie 25/acces per second nokaras monumentāli. Tanī pašā laikā CPU noslodzes knapi palielinās līdz 10%. Es jūtu ka nav citu variantu, kā pariet uz citu softu, jo tas ir vienkārši smieklīgi!

Vai arī virtuālajam serverim ir uzlikts kāds limits?
Image

User avatar
root
Reģistrēts lietotājs
Atbildes: 2173
Pievienojies: 16 Mar 2010, 15:26
Reputācija: 1

Post no root » 17 Mar 2013, 15:40

Ja pie 25rps tev cpu ir uz 0.1 tad problēma ir apačes konfigurācijā - izpēti apache procesu limitācijas konfigurācijas (worker threads) un palielini limitus apachei. Protams, ka apache aizrīsies, ja tai būs limitēts resursu daudzums kas ir tālu no reālā. 25rps vispār ir diezgan mazs daudzums. Apache ļoti ērti jūtas arī pie saviem 500-1000 rps, implyting normāls dedicated servs.

Pievienot atbildi

Return to “Linux/BSD”