Jump to content
php.lv forumi

Recommended Posts

Sveiki!

Man pēdējās dienās parādijusies problēma ar serveri. Verot vaļā lapu tā 90% gadījumu atveras tieši kā paredzēts ātri un bez problēmām, bet ik pa brīdim rodas tāda problēma, ka lapu ver ļoti ilgi vaļā. Ne tieši atsevišķus elementus ilgi lādē, piemēram, bildes, bet vienkārši pieslēdzas pašai lapai ilgi. Tad attiecīgi pēc kādām 30sek vai nu lapa aiziet vai arī nginx izmet 404 not found.

 

Problēma ir cietajā diskā, jo 404 not found parādās, ja nevar piekļūt failam slodzes dēļ. Tad nu tādos brīžos izdomāju ar iotop pavērot I/O, bet viss ir normā. Papildus tam tie ir SSD diski un I/O limitu sasniegt ir praktiski neiespējami pie pašreizējajiem apstākļiem.

 

Skatījos arī visu pārējo - swap netiek izmantots, load nav liels. Kas varētu būt par problēmu kādēļ cietie šādi uzvedas?

Link to post
Share on other sites

Īstenībā tā arī varētu būt problēma. Ko tās lapas dara? Daudz raksta datus? Cietie jauni?

Cietie kādu gadu apmēram stāv, viss ir darbojies nevainojami līdz šim.

Diski raksta datubāzē datus, domājams, ka relatīvi maz + vēl tiek izmantoti video failu lejupielādēi un apstrādei pirms tiek pārvietoti uz HDD.

 

Izmantoju šādu SSD Intel 520 Series (80k random IOPS, ~550MB/s)

 

blackhalt, es neesmu linux eksperts un diezgan maz sapratu no tā linka, ko devi, bet vai tā vispār optimizācija ir vajadzīga, ja cietajiem nav liels I/O (procentuāli)?

 

Man šķiet, ka problēma slēpjas kur citur.

Link to post
Share on other sites

Optimizācija nekad nenāk par ļaunu, ja ar to neaizraujās.

vēl tiek izmantoti video failu lejupielādēi un apstrādei pirms tiek pārvietoti uz HDD

Genius. Uz webservera šitādu huiņu darīt...

Edited by jurchiks
Link to post
Share on other sites

Optimizācija nekad nenāk par ļaunu, ja ar to neaizraujās.

Genius. Uz webservera šitādu huiņu darīt...

 

Nu tas, protams, nav ideāls scenārijs, bet atbilstošākais šai situācijai :)

Varbūt kaut ko par tēmu vari pateikt, nevis tikai izteikt savas domas par to, ka SSD ir sūds un, ka serverim, kurš var pavilkt 10x lielāku slodzi kā tam šobrīd ir, ir stulbi litk darīt to, ko viņš dara?

Link to post
Share on other sites

Ja elementus lādē ātri, bet pašu lapu ilgi, tad visdrīzāk tam nav nekāda sakara ar diskiem.

Kas atšķir resursu failus no paša lapas?

1)Konekcija datubāzei.

2)PHP interpetācija un izpilde - Vai kodā kāds nav ielicis, piemēram, if (rand(0,10)==0) while(true){}. Gan tieša, gan pārnestā nozīmē, respektīvi ir darbības, kas izpildās ik pa laikam (ne uz katru requestu) un tajā kaut kas iesprūst.

Link to post
Share on other sites

1) es nekur neesmu teicis, ka SSD ir sūds.

2) Johaidī, tu kačā un apstrādā video uz webservera, uz kura stāv production saits, ar kuru galu tu domā? Serveris ir serveris, nevis workstation, jautā jebkuram kaut cik pieredzējušam cilvēkam.

3) pa tēmu es vispār pirmais kaut ko pateicu.

Link to post
Share on other sites

> Nepretendēju uz NGINX speciālistu, bet kāds ir konfigs?

> Vai nav tā, ka problēma ir tad, kad beidzas workeri?

 

Man arī liekas, ka te te ir problēma.

Link to post
Share on other sites

Ja elementus lādē ātri, bet pašu lapu ilgi, tad visdrīzāk tam nav nekāda sakara ar diskiem.

Kas atšķir resursu failus no paša lapas?

1)Konekcija datubāzei.

2)PHP interpetācija un izpilde - Vai kodā kāds nav ielicis, piemēram, if (rand(0,10)==0) while(true){}. Gan tieša, gan pārnestā nozīmē, respektīvi ir darbības, kas izpildās ik pa laikam (ne uz katru requestu) un tajā kaut kas iesprūst.

 

Kods ir veiksmīgi darbojies gadus 3, nekas nav rediģēts. Saproti, nevis pašu lapu lādē ilgi, bet tajā brīdī, kad notiek šī figņa, tad neko nelādē - ne elementus, ne ko un tad kad tā figņa beidzas viss uzreiz aiziet.

Teiksim šobrīd ieejot lapā ~1sek un lapa ir ielādējusies.

Ja tad, kad notiek figņa ieieitu lapā: 30sek firefox lādētu un pa to laiku būtu blank page, tad pēc ~30sek, kad figņa beigtos pa 1 sek ielādētu lapu. Ja figņa nebeigtos nginx izmestu 404 not found, jo nav varējis piekļūt failam for some reason.

Pēc tam figņa beigtos un viss lādētos atkal ~1sek līdz nākamajai reizei, kad tā figņa parādīsies pēc dažām minūtēm.

 

Vai nav tā, ka problēma ir tad, kad beidzas workeri?

Esmu diezgan drošs, ka to error logā varēja redzēt un tur bija jāmet 502 vai 500-to erroru.

 

404 not found nozīmē, ka nav iespējams piekļūt failam vai, ka fails neeksistē. Fails eksistē un strādā lielāko laika daļu normāli, tāpēc lūdzu padomājiet kāpēc varētu nevarēt atsevišķos brīžos piekļūt failam, kamēr SSD nav noslogots.

Link to post
Share on other sites

Īstenībā ar SSD var būt dažādi brīnumi, kurus sarežģīti atklāt. Man pašam nesen nocepās SSD. Defekts bija interesants, strādāja kādu pus stundu un tad vienkārši nobruka, linuksis tajā brīdī pārmountēja root failu sistēmu uz read only, tā arī sapratu ka problēma ir ar SSD. Pēc restartēšanas viss ir tā pat, pastrādā kādu laiku un nobrūk. Es mēģināju skatīties SMART informāciju, bet arī tur neko jēdzīgu neuzrādīja. Paskaties sev to SMART, kaut ko iespējams arī varēs uzzināt.

Edited by Maris-S
Link to post
Share on other sites

Tagad pamanīju, ka uz statiskajiem failiem šādas problēmas nav. Statiskie faili tieši tāpat stāv uz SSD. Sāku domāt vai ar PHP nav kas noticies. Atjaunināju PHP versiju, skatīšos vai vēl parādīsies šī problēma, vai pazudīs.

Edited by No0ne
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...