1. @smitka Lynt services s.r.o.
Infrastruktura
Webová řešení
Marketing
WP – výkon a jeho
profilování
Vláďa Smitka
https://lynt.cz
2. Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Co dnes uslyšíte?
• Kde a jak hledat výkonnostní problémy
• Server vs zdroje
• Pár slov o serverech a síťové infrastruktuře
• Ladění DB
• Ladění PHP skriptů pomocí Blackfire.io
• Budeme používat testovací virtuálek ve VirtualBoxu
3. Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Virtuálek
Na flashce:
• Virtualbox
• Appliance (Centos-WPweekend.ova)
• Datové a konfigurační soubory
• Užitečné odkazy
• 1x předinstalovaný WP
• Počítá s IP 192.168.33.10
• Lze využít doménu *.10.lynt.eu
• = wp1.10.lynt.eu
Apache 2.4
PHP 5.6 FPM
127.0.0.1:9056
PHP 7.0 FPM
127.0.0.1:9070
Port 80 Port 7080
MariaDB 5.5
MailCatcher
Shell in a Box
WP-CLI
WPscan
Datové soubory Konfigurace
DB Logy
Síť s hostemNAT
7. Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Co na serveru trvá?
• Databázové dotazy
• HTTP požadavky na vzdálené služby
• Špatně napsaný kód, který se mnohokrát zbytečně spouští
• Maily
• Práce s daty na přetíženém serveru
8. Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Hosting, VPS, vlastní
server?
2x CPU, 4GB RAM
1x CPU, 2GB RAM
1x CPU, 2GB RAM
define( 'WP_MEMORY_LIMIT', '512M' );
Pro admin: WP_MAX_MEMORY_LIMIT
1 zobrazení běžné stránky = 20-40MB
18. Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
3 hlavní komponenty
• Probe – rozšíření pro PHP
• Agent – posílač dat do služby + CLI
• Companion – rozšíření do Chrome pro spouštění testů
• https://blackfire.io/docs/up-and-running/installation
• Server ID + Token
• Client ID + Token
22. Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Když se to moc opakuje
public function ziskat()
{
$velka_instance_neceho = new Neco();
$vystup = $velka_instance_neceho->tezko_získat();
return $vystup;
}
public function ziskat()
{
static $vystup;
if (!isset($vystup)) {
$velka_instance_neceho = new Neco();
$vystup = $velka_instance_neceho->tezko_ziskat();
}
return $vystup;
}
23. Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Jak zprofilovat POST a
jiné podivnosti?
Blackfire lze spouštět i z příkazové řádky:
blackfire curl 'data'
blackfire --samples=10 run php -r 'echo "WPweekend!";
blackfire upload CPU-20160526T202602.cpuprofile (výkon js v prohlížeči)
blackfire upload homepage-xdebug.out (výstup z xdebug)
25. Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Pochlubte se svým
profilem na blogu ;-)
WP Oembed provider:
wp_oembed_add_provider('https://blackfire.io/profiles/*',
'https://blackfire.io/oembed' );
26. Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Děkuji za pozornost!
Dále si přečtěte:
https://lynt.cz/blog/10-nejcastejsich-problemu-modernich-webu
https://lynt.cz/blog/optimalizace-vykonu-webovych-aplikaci-na-co-se-zamerit