Čím déle pracuji s PHP skripty, tím více pronikám do tajů PHP. Protože není výkon zadarmo, je nutné skripty neustále ladit a zrychlovat. Vyplatí se to. Grafy výkonu.
Celý článek je zveřejněn na mozektevidi.net/clanek/optimalizace-php-skriptu-v-praxi
netzona.cz
capousek©netzona.czJeste bys mel ukazat pocet dotazu na SQL a LOAD neni jen CPU.
11.8.2008 Po 10:53
blog.antonindanek.cz/
danek©antonindanek.czA co je to za přerušení? Ty se totiž používají mnohem na nižších úrovních: 1) V případě, že nějaká periferie vyžaduje obsluhu. 2) V případě chyby HW. 3) Programátor taky může volat přerušení, ale skoro vždycky jde o práci s nějakou periferii nebo s nějakým obvodem.
Takže nějak moc nechápu, jakou to má souvislost s generováním webu, co ty přerušení vytvářelo a co ty přerušení vlastně obsluhovaly.
11.8.2008 Po 11:59
netzona.cz
capousek©netzona.czreakce na »TondaD 3«: To je jednoduche. Obsluha disku v zavislosti na zpracovani webu www sererem a v zavislosti treba i MYSQL na cteni z diskua vytvareni TMP tabulek.
11.8.2008 Po 12:31
blog.antonindanek.cz/
danek©antonindanek.czreakce na »Tonda 4«: Jenom na to je jich nějak moc ne. Víc jak 15k přerušení za vteřinu? Disk se přece neobsluhuje pořád, od čeho je RAMka.
11.8.2008 Po 12:58
pisem.cz Vskutku zajímavé...
reakce na »Tonda 4«: <==> reakce na »TondaD 5«: => to nechápu :(
11.8.2008 Po 16:05
netzona.cz
capousek©netzona.czreakce na »TondaD 5«: dam ti priklad je to vcelku proste. Pokud a olda dejme tomu 300 dotazu na sql za vterinu a ma v databazi spatnee zvolene indexi nebo ma moc slozite dotazy a v mysql ma male buffery tak muze doit k tomu ze neni uspokojeno cteni a dotaz z ram, ale dojde kvytvoreni tmp table ze ktere je posleze cteno. Pri kazde navsteve stranek muze take dochazet k jistemu ukladni do sql. Coz nam zase zncci co? Ze opet dochazi k pristupu na disk. Potom tu mame cteni samotnych ssouboru z disku. Pokud ma v adresari moc souboru zvysuje to take zatez. Dalsi je trafic kteery nam obslhuje sitovka a v neposledni rade raid radic ktrery provadi sinchro. Takze oodladenim zbytecneho cteni zdisku muze tyto hodnty preci ovlivnit.
11.8.2008 Po 16:38
disposed.xf.cz kdyby jsi mi ukázal jen ty grafy a nenapsal, že v době zaznamenané grafem jsi provedl optimalizaci PHP, tvrdil bych celkem s jistotou, že tu výraznou změnu v grafu způsobilo nějaké omezení působnosti ACPI - co se změnilo:
první graf - snížil se počet irq, tedy požadavků o přerušení od hardware - což může mít s ACPI něco společného + system, což by mohlo souviset s obsluhou irq a ACPI. I/O operace se téměř vůbec nezměnily, tzn. nic, co se týká operací se soubory se změnit nemohlo
druhý graf - přerušení, ano, to je ruku v ruce se sníženou dobou, kterou trávil procesor vykonáváním systémového kodu
třetí graf - jasně, tady to vidíme, před změnou acpi volalo služby jádra často, nyní skoro vůbec
... nejde mi do hlavy, jak mohla optimalizace php scriptů tolik snížit náročnost činnosti ACPI, přitom ostatních úkonů se téměř nedotkla (I/O operace, zátěž mysql), takže mám pořád podezření, že za ten rozdíl před/po může nějaká změna v ACPI...
12.8.2008 Út 16:11
disposed.xf.cz když nad tím dumám, začínám míň a míň věřit v to, že tyhle změny mohla způsobit optimalizace PHP scriptů - opravdu jsi nic nedělal v té době s ACPI? nebo nějaká hardwarová změna...?
12.8.2008 Út 16:16
disposed.xf.cz reakce na »Vojtěch Havel 9«: ... protože se téměř vůbec nezměnila doba, kterou procesor trávil vykonáváním kódu v user-space. A právě v user-space imho php vykonává většinu práce....
12.8.2008 Út 16:18
mozektevidi.net reakce na »Vojtěch Havel 9«: Opravdu jsem nic neměnil na hardware, nepřidával jsem RAM, neměnil CPU a neměnil jsem nastavení. Prostě jsem objevil velkého žrouta výkonu, kterého jsem odstranil.
Tolik přerušení bylo, protože se často šahalo na disk, dobře to vystihl reakce na »Tonda 7«: Tonda.
12.8.2008 Út 22:22
disposed.xf.cz reakce na »MzK 11«: podle grafů se ale doba trvání I/O operací moc nezměnila, na grafech jde jasně vidět, že zátěž serveru tvořily irq (čtení/zápis dat na disk tak velký počet irq snad netvoří, ne?) a obsluha přerušení, které si vyžádalo ACPI. Pořád nechápu souvislost mezi optimalizací PHP scriptů a těmi grafy...ale jestli to říkáš, asi v tom nějaká souvislost bude...
12.8.2008 Út 22:52