Fra php til c

kongen

kongemedlem
Hvor går grensen på besøkstall for at man skal gå for et programmerigsspråk som er "nærmere" maskinvaren enn php.

Kunne man f.eks. hatt vgnett utviklet i php med besøkstallet de har? Eller må man bruke c?
 

adeneo

Medlem
Det er umulig å svare på!

Det kommer mer an på hvordan koden er skrevet, antall databaseoppslag som gjøres, bilder som lastes inn osv.

Normalt kan man si at du vil få serverproblemer lenge før PHP er noe problem, og noen av verdens største nettsider kjører fortsatt på PHP.
Facebook brukte så å si bare PHP opp til de hadde milliarder av brukere samtidig, men måtte på et tidspunkt konvertere mye av PHP koden til C og andre språk, chat'en deres er for eksempel skrevet i Erlang, andre deler i Python, Google bruker også en del Python. Yahoo bruker i stor grad PHP.
Digg, Flickr og Wikipedia bruker LAMP stack på serversiden (Linux, Apache, MySQL, PHP), og ser ikke ut til å ha noe problemer med noen milliarder brukere, slik at en side som VG med toppen noen hundre tusen unike brukere daglig er ikke noe problem.

Skalerer man med nok hardware kan man bruke nesten hva som helst, men PHP er helt klart ikke det mest effektive språket, men det er ikke .NET heller, og Python og Java kan være begge deler alt ettersom hvordan det er skrevet.
Det eneste som virkelig kan håndtere mange forespørsler er "event drevne servere", Java har dette i Event Machine, Ruby on Rails har også den muligheten, og Node.js er event dreven rett ut av boksen, med direkte bindinger i C, og er derfor svært rask osv.
 
Sist redigert:

impel

Medlem
Riktig som adeneo sier. Språket er sjelden den største flaskehalsen. Veldig ofte er det databasen som vil skape de største problemene i forhold til skalering.

Du må tenke på at det å programmere i C, eller andre lavnivåspråk, sjeldent er veldig produktivt. Det er billigere å heller fyre opp en ny server, enn å hyre flere programmerere.

Skulle du derimot finne ut at språket er hovedkilden til treghetene i applikasjonen din, finnes det ofte alternative implementasjoner av språket du bruker, som kan være raskere. F.eks har vi PyPy for Python, og HHVM for PHP (utviklet av Facebook). Disse to bruker JIT (Just in time)-kompilering, slik at programmet optimaliserer seg selv over tid, mens det kjører.
 
Topp