Vice jader nebo vice frekvence per jadro? PHP/MySQL rubrika: Administrace: Hardware
Zdravim,
u jednoho projektu planujeme zmenit infrastrukturu a klicove je pro nas si rychlostne nepohorsit, co se tyce odezvy aplikaci. Dnes mame aplikaci na aplikacnim serveru, na kterou jde 40 req/s a prumerna odezva PHp je 120 ms. Aplikacni server ma 4 jadrovy procesor (8 vlaken) o frekvenci 4,5 GHz. Pak mame databazovy server, kde bezi databaze a tam je procesor 3,5 GHz na 4 jadrech (8 vlaknech).
A ted k veci. Muzeme prejit na 16ti vlaknovy procesor s frekvenci 2,8 GHz pro databazi a se stejnym serverem pro aplikaci. Pro MySQL by to mohlo vest k rychlejsi odezve, protoze MySQL dokaze vyuzit vice jader. Takze tam si rikam, ze i kdyz dojde ke snizeni frekvence per jadro, tak odezva databazoveho serveru by mela byt ve vysledku rychlejsi i co se tyce propustnosti. Co se tyce aplikace, kde je PHP, kde PHP neumi vytezit vice jader, tam si rikam, ze by snizeni frekvence mohlo vest ke zpomaleni aplikace. Na druhou stranu, zase by server mohl paralelne resit vice requestu najednou, takze otazkou je, zda realne ke zpomaleni dojde?
Trochu si nad tim lamu hlavu, zda benefit z vice jader u PHP dorovna snizeni frekvence per jadro a o jaky pokles muze ve vysledku jit.
Diky za nazory,
Tomas
Udělej si benchmark a moc teoreticky nespekuluj.
Spusť load test na obou konfiguracích a uvidíš co je lepší.
Záleží taky na backendu co používáš (fpm, mod-php), opcache a především na tvé aplikaci. Je obrovský rozdíl pokud je bottleneckem I/O nebo CPU.
Komentáře
- kodl : presne tak, tady muzem jen spekulovat a hadat. uz jen prechod apache+mod-php na nginx a fpm a k tomu pošolichani opcache u me udelalo hodne s loadem(pokles o vice jak 50%), dale pak kazdy upgrade php... zrovna opcache je potreba pohlidat a nastavit tak, aby nedošla. dale kriticke casti cachovat do apcu(cca 10x rychlejsi nez mongodb nebo memcached!). — 18.2.2019
- PositiveDeveloper : Benchmarky jsou hezké, ale stejně pak záleží na konkrétní struktuře dat a konkrétních operacích. I/O bottleneck je častý u MySql. — 22.2.2019
- harrison314 : Preto si treba ten benchmark napisat tak aby sa co najviac priblizoval tomu co si chce clovek odtetovat. — 22.2.2019
- PositiveDeveloper : @harrison314: Jenže vždycky nejde vědět předem přesná data, čili nejde napsat přesný benchmark. — 3.5.2019
- harrison314 : @PositiveDeveloper: Tie ani vediet netreba, vzdy ide o nejaky odhad (podla schemy a prepokaldaneho pouziia systemu), na tuto otazku ale odpvedat vedia. — 5.5.2019
- PositiveDeveloper : @harrison314: nesouhlasím, nepřesný odhad je ti někdy na prd — 11.4.2020
Pro zobrazení všech 6 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře