Bakalářská Práce

Bakalářská Práce

TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií BAKALÁŘSKÁ PRÁCE Liberec 2013 Jaroslav Jakoubě Příloha A TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Studijní program: B2646 – Informační technologie Studijní obor: 1802R007 – Informační technologie Srovnání databázových knihoven v PHP Benchmark of database libraries for PHP Bakalářská práce Autor: Jaroslav Jakoubě Vedoucí práce: Mgr. Jiří Vraný, Ph.D. V Liberci 15. 5. 2013 Prohlášení Byl(a) jsem seznámen(a) s tím, že na mou bakalářskou práci se plně vztahuje zákon č. 121/2000 Sb., o právu autorském, zejména § 60 – školní dílo. Beru na vědomí, že Technická univerzita v Liberci (TUL) nezasahuje do mých autorských práv užitím mé bakalářské práce pro vnitřní potřebu TUL. Užiji-li bakalářskou práci nebo poskytnu-li licenci k jejímu využití, jsem si vědom povinnosti informovat o této skutečnosti TUL; v tomto případě má TUL právo ode mne požadovat úhradu nákladů, které vynaložila na vytvoření díla, až do jejich skutečné výše. Bakalářskou práci jsem vypracoval(a) samostatně s použitím uvedené literatury a na základě konzultací s vedoucím bakalářské práce a konzultantem. Datum Podpis 3 Abstrakt Česká verze: Tato bakalářská práce se zabývá srovnávacím testem webových aplikací psaných v programovacím skriptovacím jazyce PHP, které využívají různé knihovny pro komunikaci s databází. Hlavní důraz při hodnocení výsledků byl kladen na rychlost odezvy při zasílání jednotlivých požadavků. V rámci řešení byly zjišťovány dostupné metodiky určené na porovnávání těchto projektů. Byl také proveden průzkum zjišťující, které frameworky jsou nejvíce používané. Klíčová slova: Testování, PHP, webové aplikace, framework, knihovny English version: This bachelor’s thesis is focused on benchmarking of the PHP frameworks and their database libraries used for creating web applications. Crucial function of each application is communication with the database and obtaining requested data. In each test was measured the request response time for every single function. Important part of the work was research of available methods used for benchmarking of the web applications. In this work, has been also defined which are the most favorite frameworks. Keywords: Benchmarking, PHP, web application, framework, libraries 4 Obsah Prohlášení .................................................................................................................................... 3 1 Úvod ..................................................................................................................................... 9 2 Podrobnější představení problematiky .............................................................................. 10 2.1 Úvod do problematiky ................................................................................................ 10 2.2 Vývoj vlastních knihoven ............................................................................................ 10 2.3 Druhy testování .......................................................................................................... 11 2.3.1 Abstraktní test .................................................................................................... 11 2.3.2 Jednoduchý test ................................................................................................. 12 2.3.3 Testy reálnějších funkcí ...................................................................................... 13 2.4 Dostupné nástroje ...................................................................................................... 15 2.4.1 ApacheBench ...................................................................................................... 15 2.4.2 Apache JMeter.................................................................................................... 16 2.5 Vybrané frameworky .................................................................................................. 17 2.5.1 CakePHP ............................................................................................................. 17 2.5.2 CodeIgniter ......................................................................................................... 18 2.5.3 DooPHP .............................................................................................................. 18 2.5.4 Jelix ..................................................................................................................... 19 2.5.5 Kohana................................................................................................................ 19 2.5.6 Laravel ................................................................................................................ 20 2.5.7 Nette .................................................................................................................. 20 2.5.8 Prado .................................................................................................................. 20 2.5.9 Qcodo ................................................................................................................. 21 2.5.10 Recess ................................................................................................................. 21 2.5.11 Seagull ................................................................................................................ 22 2.5.12 Symfony .............................................................................................................. 22 2.5.13 Yii ........................................................................................................................ 23 2.5.14 Zend framework ................................................................................................. 23 3 Cíle práce ............................................................................................................................ 25 3.1 Upřesnění zadání ........................................................................................................ 25 4 Návrh řešení ....................................................................................................................... 26 4.1 Požadovaný výsledek testu......................................................................................... 26 4.2 Vybraná metodika ...................................................................................................... 26 4.2.1 Struktura příkazů ................................................................................................ 26 5 4.2.2 Definice zátěže ................................................................................................... 28 4.2.3 Omezení nežádoucích činitelů ............................................................................ 28 4.3 Vlastnosti všech vytvářených aplikací ......................................................................... 28 4.3.1 Struktura a vzhled ............................................................................................... 29 4.3.2 Konzistence dat .................................................................................................. 29 5 Realizace řešení .................................................................................................................. 30 5.1 Výběr vhodných nástrojů ........................................................................................... 30 5.1.1 Server ................................................................................................................. 30 5.1.2 Databáze ............................................................................................................. 31 5.1.3 Testovací program .............................................................................................. 32 5.2 Rozložení výpočetního výkonu ................................................................................... 32 5.3 Jednotlivé frameworky ............................................................................................... 32 5.4 Podrobný průběh testu .............................................................................................. 33 5.4.1 Serverové doplňky .............................................................................................. 33 5.4.2 Tvorba jednotlivých aplikací ............................................................................... 34 5.4.3 Testování vytvořených aplikací ........................................................................... 38 6 Vyhodnocení výsledků ........................................................................................................ 43 6.1 Test výběru ................................................................................................................. 43 6.2 Test vložení................................................................................................................. 44 6.3 Test úpravy ................................................................................................................. 44 6.4 Test mazání ................................................................................................................ 45 6.5 Souhrnný test ............................................................................................................. 46 6.6 Shrnutí naměřených údajů ......................................................................................... 46 7 Závěr .................................................................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    53 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us