Analýza chování serverových aplikací při přetížení
Analysis of Server applications` behaviour during Overload
Type of document
bakalářská prácebachelor thesis
Author
Skřivan Jaroslav
Supervisor
Bezpalec Pavel
Opponent
Kubr Jan
Field of study
Softwarové inženýrstvíStudy program
Softwarové technologie a managementInstitutions assigning rank
katedra počítačůRights
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://www.cvut.cz/sites/default/files/content/d1dc93cd-5894-4521-b799-c7e715d3c59e/cs/20160901-metodicky-pokyn-c-12009-o-dodrzovani-etickych-principu-pri-priprave-vysokoskolskych.pdfVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://www.cvut.cz/sites/default/files/content/d1dc93cd-5894-4521-b799-c7e715d3c59e/cs/20160901-metodicky-pokyn-c-12009-o-dodrzovani-etickych-principu-pri-priprave-vysokoskolskych.pdf
Metadata
Show full item recordAbstract
Tato práce se věnuje možnostem optimalizace serverů, na kterých jsou provozovány webové aplikace psané v jazyce PHP a využívající MySQL databázi. Cílem práce je ukázat možnosti zvýšení výkonu celé infrastruktury bez zásahu do kódu aplikace.
Při řešení daného problému jsem testoval HTTP kompresi a HTTP cache. Obě vedly k výraznému snížení vytížení konektivity serveru. Dále jsem zkoumal možnosti optimalizace PHP. Změřil jsem, že PHP 7 a HHVM přinášejí několikanásobné zvýšení výkonu na rozdíl od opcode cache, jež zvýšuje výkon jen o polovinu.
V kapitole o MySQL popisuji query cache, jejíž přínos je v různých prostředích odlišný a obecně doporučuji ji vypnout. Dále jsem při zkoumání storage engine tabulek v MySQL databázi došel k závěru, že nejvhodnější je použití InnoDB. Poslední kapitola je věnována nejdůležitějším parametrům linuxového jádra souvisejícím s TCP spojeními. Zjistil jsem, že výchozí nastavení parametrů není vhodné pro velmi zatížené servery a mělo by být zvýšeno.
Práce dokazuje, že je možné zvýšit výkon webových aplikací úpravou konfigurace serverů. This thesis deals with the possibilities of optimising servers hosting web applications which are written in PHP and which store data in the MySQL database. The aim of the thesis is to show the options of increasing the infrastructure's performance with no interference into the application code.
First of all, HTTP compression and HTTP caching were tested. Both resulted in a significant reduction in the server's connectivity utilisation. I then proceeded to the examination of the possibilities of PHP optimisation. My measurements have shown that the deployment of PHP 7 as well as HHVM results in a multiple performance increase, unlike the deployment of opcode cache, which increases the performance only by 50%.
Query cache is described in the chapter on MySQL. Its effect varies in different environments and I generally recommend to turn it off. After examining storage engines in MySQL, I have established InnoDB as the most suitable of all. The last chapter focuses on the most important parameters of the Linux kernel which influence the behaviour of TCP connections. I have determined that the default settings are unsuitable for heavily loaded servers and should be increased.
The thesis proves that it is possible to increase the performance of web applications by adjusting the servers' configuration.
Collections
- Bakalářské práce - 13136 [1125]