Jump to content
php.lv forumi

Recommended Posts

Sveiki,

 

šobrīd ir viens serveris ar IIS 7.5+PHP(fastcgi)+MSMSQL, ar diezgan lielu noslodzi. Jāsaka ka brīžam tomēr ir problēmas ar servera stabilitāti tad tur wincache gļuki, tad vēl kas, pieļauju ja slodze nebūtu tik liela nekas tāds nelīstu ārā. Šobrīd meklēju argumentus, lai pārietu uz linux + apache (nginx ?) +php +mysql. Varat kādus argumentus minēt ka ceļš ir pareizs/nepareizs.

Link to post
Share on other sites

Drīzāk ir jāatbild, kāds būtu iemesls palikt uz IIS. Ja tev ir iespēja pāriet no IIS, un ja tevi netur .NET ekosistēma, tad labāk pāriet.

 

Protams, ja izdomāsi pāriet uz L*MP, tad ir jāizvēlās nginx. Konfigurācijas iespējas ir milzīgas, un ātrdarbība ir labāka.

Link to post
Share on other sites

Par to pāreju man jāsavāc kautkādi argumenti citiem cilvēkiem, kas atbild tieši par OS un ar lielu sajūsmu linux negaida :) . Tas par velti nebūs labs arguments šinī gadījumā, drīzāk man teiks nu Win tur par maksu aiz tā maikrosofts utt..

 

  • IIS + PHP mazāks komjunitī un problēmu gadījumā viglāk ir atrisināt probl'\emu
  • IIS + PHP kā izskatās nav pati stabilākā lieta, tas wincache no M$ lapas ir gļukains, zem slodzes kā jau teicu ir problēmas, sagūglēju kautkādu HVZ kur kompilētu.
  • PHP tomēr šķiet ir orientēts un nix sistēmām
  • PHP ar MSSQL, draiveris no MS aizvēsturisks
Link to post
Share on other sites

Uz nix uzlikt/piekompilēt visādus php libus ir stipri vienkāršāk (kaut kāds imagick uz win pamatīgas galvassāpes sagādā, vismaz man :S)

Gan jau, ka vieglāk arī atrast personu, kas administrē nix, nekā win, ja rodas nepieciešamība.

Link to post
Share on other sites

Cik nu man sanācis ar linux un php darboties, nu jākompilē jau ļoti reti tomēr, kas ir arī labs arguments, ja nav vajadzība pēc kādas ļoti specifiskas libas, vai liba versijas. Vienīgais ko pēdējā laikā esmu kompilējis bija mongodb draiveris php, bet nu tur viss bija vienkārši.

Link to post
Share on other sites

Ņem arī vērā, ka drizumā iznāks php7, kuru daudzi gribēs, un tam performance radītāji ir awesome. Un uz windas apdeitot php major versijas ir īpaši izsmalcināts mazohisma akts. Vienu reizi to dariju, vairs negribās.

Link to post
Share on other sites

Protams, ja izdomāsi pāriet uz L*MP, tad ir jāizvēlās nginx. Konfigurācijas iespējas ir milzīgas, un ātrdarbība ir labāka.

 

Tas nav fakts un nav akmenī cirsts - tar ir atkarīgs no vides un dažos scenārijos Apache + mod_php ir pat ievērojami ātrāks, kā Nginx + PHP-FPM. 

Link to post
Share on other sites

Tur tā lieta, ka dažos scenācijos. Prātā uzreiz tādi scenāriji nenāk, bet nu absolūti lielākajā daļā keisu nginx ir evektīvāks.

Tieši otrādi - pareizi nokonfigurēts Apache + mod_php būs ātrāks visos vienkāršlapu scenārijos. Un par iemeslu tam kalpo tas, ka mod_php ir Apache modulis, bet Nginx ar PHP komunicē caur FCGI un pa vidam mētājas arī FPM. Nginx + FPM gadījumā situāciju daudz uzlabot nevar - varbūt fcgi keepalive pakruķīt, citas nianses, kur Apache savukārt var nogludināt diezgan pamatīgi, nogriežot moduļus, htaccess un veicot utml. optimizācijas. 

 

That being said, Nginx ir mazāks memory footprint pret Apache, taču atšķirība nokonfigurējot abus +/- korekti maziem projektiem nav tik jūtama. Nginx ir labāka izvēle arī tad ja jāservē diktan daudz statisku failu vai jāprokšo pieprasījumi uz N apakšsistēmām, bet arī šajā gadījumā ieguvums būs relatīvs un tad kad tas būs reāli jūtams, iespējams būs nepieciešams aplikāciju no statiskiem asetiem atdalīt. 

Link to post
Share on other sites

Par to pāreju man jāsavāc kautkādi argumenti citiem cilvēkiem, kas atbild tieši par OS un ar lielu sajūsmu linux negaida :) . Tas par velti nebūs labs arguments šinī gadījumā, drīzāk man teiks nu Win tur par maksu aiz tā maikrosofts utt..

Tad īstenībā jautājums/argumenti ir vairāk par organizatoriskām lietām, ne tehniskām :)

Ja kompānijai nepieciešams "aiz tā", tad pretarguments - vienmēr jau ir iespējams iegādāties dažāda līmeņa komerciālu atbalstu - Red Hat Enterprise Linux, Suse SLES, Ubuntu LTS/Canonical utt.

 

Platformas maiņa (OS, DB u.c.) nekad nav viegls/viennozīmīgs pasākums, visvienkāršāk, manuprāt, kaut ko pierādīt ir (mēģināt - lai saprastu vai vispār ar pieejamajiem resursiem (cilvēk-,zināšanas,tehniskie) un "produkta" īpatnībām tas vispār ir iespējams) izveidot paralēlu sistēmu ar kuru tad salīdzināt kaut kādus statistiskos rādītājus (pieprasījumi sekundē/cpu noslodze/ram prasības utt) uz kuru pamata pieņemt lēmumu - vai ir vai nav vērts.

 

 

 

Visi minētie produkti (nginx/apache/php/mysql) gan darbojas arī Windows vidē, ja OS maiņa ir lielākā sāpe un ja vēlme ir tikt vaļā tikai no IIS, tad personīgi liekas, ka apache + php isapi modulis varētu būt vienkāršākais variants.

Link to post
Share on other sites

Paldies par atbildēm! 

 

Jā vajadzēs kādu daļu SQL vaicājumu pārrakstīt, bet konsultējoties ar izstrādātājiem to var izdarīt abām pusēm apmierinošā laikā. Viena no lielākajām problēmām kā jau minēju ir IIS+php stabilitāte pie noslodzes. Manuprāt WIn+apache+php, vai linux php ar mssql draiveri ļoti liela iespēja ka problēmas būs līdzīgas. Tādēļ gribas setupu, kuru ir pārbaudījuši ļoti daudz serveri un tas būtu php+apache,vai nginx+mysql. Tam saitam var saskriet ~6 stundu laikā līdz 45k apmeklējumu nu tas nav bieži, bet ir momenti kad serverim ir ko svīst.

Link to post
Share on other sites

Tādēļ gribas setupu, kuru ir pārbaudījuši ļoti daudz serveri un tas būtu php+apache,vai nginx+mysql. Tam saitam var saskriet ~6 stundu laikā līdz 45k apmeklējumu nu tas nav bieži, bet ir momenti kad serverim ir ko svīst.

Tāda pieeja nav visai korekta, jo nu IIS ir tikpat "daudz serveri" kā piemēram nginx (var paskatīties dažādu webserveru "šāri" http://news.netcraft.com/archives/2015/06/25/june-2015-web-server-survey.html).

Tāpat pieņēmums, ka apache+php uz Win būs tieši tas pats kas IIS gadījumā (ņemot vērā, ka iespējams php darbināt dažādos veidos - kā Fastcgi vai ISAPI moduli).

 

izņēmums, protams, ir ja tiešām visa problēma ir kaut kādā MSSQL php draiverī, bet tad ar būtu jāpārliecinās vai ir, piemēram, jaunākā draivera versija ( https://www.microsoft.com/en-us/download/details.aspx?id=20098/ MS pat piedāvā sourci https://github.com/azure/msphpsql ) tāpat alternatīvas ir izmantot ODBC un/vai PDO implementāciju utt.

 

 

Būtiskākais gan ir arī pats "saits", proti, ja kods ir <?php sleep(60); ?> (ne burtiski protams), tad neviena no servera/os kombinācijām "nepalīdzēs", tai pat laikā ir tikpat liela iespēja "45k apmeklējumus"  izprocesēt sekundes laikā :)

 

 

p.s. es nekādi negribu atturēt no migrācijas, tikai rosināt problēmas risināšanu un (tehnisku) lēmumu pieņemšanu no savādāka aspekta

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...