![]() |
Citat:
|
Ok, "ofta" var kanske överdrivet. Men det finns en hel del Best Practices om att man
i virtualiseringsmiljöer ska undvika vSMP så länge det är möjligt. Kör man applikationer som verkligen kan hantera SMP på ett bra sätt så visst. Men att köra det "bara för att man har Quad-core i sin hemma-burk" kommer göra mer skada än nytta. |
Citat:
Det är ju detta som är fördelen att kunna skala upp och ner sin prestanda. Visst finns det undantag, men de är rejält sällsynta nuförtiden. Ingen vettig programmerare drar inte nytta av flera cores. |
Så du menar att du skriver trådad PHP?
Du är isåfall den första jag träffar på som gör det. Grattis! |
Citat:
Apache/Lighttpd/whatever_webbserver kör trådat och drar igång flera trådar när den får mer än en samtidig http-request. Det gör alltså nytta med flera cores på en site som kör PHP, utan tvekan. Är din uppfattning annorlunda? |
Citat:
|
Citat:
Spelar ingen roll om det är worker eller prefork. Men fler CPU-kärnor kan den hantera fler samtidiga användare snabbare. Eller hur? Edit: Självklart blir det inte snabbare för en användare att köra ett php-skript med fler cores, den kör då bara på en enda core. Men om du har 100 användare samtidigt som kör flera cores så skalar det ut på alla cores. |
Att själva webbservermjukvaran inte drar någon nytta av flera cores spelar ju inte så stor roll i sammanhanget. I stort sett all beräkning sker ju i antingen (PHP-)scripten eller i databasen som båda är multitrådade(om man konfigurerar rätt) och drar stor nytta av flera cores.
Webbservermjukvaran skickar ju bara vidare alla requests till PHP-processerna och skickar sedan tillbaka HTML:en som scripten genererar. Därmed har jag svårt att tro att problemet sitter i själva webbservermjukvaran utan i scripten eller databasen som använder mycket CPU-resurser. Jag tror att man av andra anledningar tvingas lastbalansera mellan flera fysiska noder innan själva webservermjukvarans process blir flaskhalsen. |
Citat:
Citat:
Får du in två requests samtidigt så klarar webbservermjukvaran att starta en ny php-process som samtidigt behandla båda två. Har du fler en cores kommer operativsystemet sprida de på var sin core. Får du bara in en reqeust åt gången så spelar det ingen roll hur många cores du har då det inte går snabbare eftersom den då bara kör på en core. |
Citat:
Med "webbservermjukvaran" syftade jag inte på det som är PHP-relaterat eftersom det är moduler utan den mjukvara som hanterar requests från användare och skickar tillbaka svaret, precis som jag skrev. Den hanteringen kommer troligen inte bli flaskhalsen. |
Alla tider är GMT +2. Klockan är nu 12:34. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson