Mai multe versiuni mai rapide pe un server Web

Discuția despre Dual vs Quadcore este la fel de veche ca și Quad-core-ul, iar răspunsul este de obicei "depinde de scenariul dvs.". Deci, aici scenariul este un server Web (Windows 2003 (nu este sigur dacă x32 sau x64), 4 GB RAM, IIS, ASP.net 3.0).

Impresia mea este că CPU-ul într-un server Web nu trebuie să fie atât de repede, deoarece cererile sunt de obicei mai ușoare, astfel că având mai multe (mai lentă) nuclee ar trebui să fie o alegere mai bună, deoarece avem multe solicitări mici.

Dar, din moment ce nu am multă experiență în ceea ce privește echilibrarea încărcării IIS și din moment ce nu vreau să cheltuiesc foarte mulți bani numai pentru a afla că am făcut alegerea greșită, poate cineva care are o experiență puțin mai mare să comenteze dacă sau nu Mai multe mai mici sau mai puține miezuri mai rapide este mai bine?

0
fr hi bn

4 răspunsuri

Folosim apache pe linux, care impulsionează un proces de tratare a cererilor. Am descoperit că mai multe nuclee ajută la viteza noastră de lucru, deoarece reduc latența proceselor care așteaptă să fie plasate pe coada de alergare. Nu am prea multă experiență cu IIS, dar îmi imaginez că același scenariu se aplică și în cazul fileului de fire.

0
adăugat

Pentru ceva de genul unui server web, împărțirea sarcinilor de manipulare a fiecărei conexiuni este (relativ) ușoară. Spunem că este sigur să spunem că serverele web sunt una dintre cele mai comune (și călcate) utilizări ale codului paralel. Și din moment ce sunteți capabili să împărțiți o mare parte din prelucrare în mai multe fire discrete, mai multe nuclee vă vor fi de folos. Acesta este unul dintre motivele pentru care găzduirea în comun este posibilă. Dacă aplicațiile software de tip server precum IIS și Apache nu ar putea executa în paralel cereri, ar însemna că fiecare solicitare de pagină ar trebui să fie difuzată într-o coadă de așteptare ... probabil ca timpul de încărcare să fie nesemnificativ de lent.

De asemenea, de ce sistemele de operare server de mare viteză cum ar fi Windows 2008 Server Enterprise suportă ceva de genul 64 nuclee și 2TB de memorie RAM. Acestea sunt aplicații care pot beneficia efectiv de faptul că multe nuclee.

De asemenea, deoarece este probabil ca fiecare cerere să aibă încărcare CPU scăzută, probabil că (pentru unele aplicații) puteți scăpa cu nuclee mai lent. Dar, evident, având fiecare nucleu mai rapid poate însemna că este capabil să obțineți fiecare sarcină mai rapidă și, teoretic, să se ocupe de mai multe sarcini și mai multe cereri de server.

0
adăugat

Cu cât mai mult, cu atât mai bine. Pe măsură ce limbile de programare încep să devină mai complexe și mai abstracte, cu atât mai multă putere de procesare va fi necesară.

Atleat Jeff crede că Quadcore este mai bun .

0
adăugat

Mark Harrison a spus:

Nu am prea multă experiență cu IIS, dar îmi imaginez că același scenariu se aplică și cu piscina de fire.

Într-adevăr - mai multe nuclee = mai multe fire care rulează simultan. IIS este inerent multithreaded, și are un ușor avantaj de acest lucru.

0
adăugat