XAMPP
(→A szerver vizsgálat eredményei) |
(→A szerver vizsgálat eredményei) |
||
242. sor: | 242. sor: | ||
Session length histogram: 38 22 23 5 3 9 |
Session length histogram: 38 22 23 5 3 9 |
||
− | Itt már csak 140 kérésre érkezett válasz és 91 alkalommal a timeout-olt a kliens. |
+ | Itt már csak 140 kérésre érkezett válasz és 91 alkalommal volt időtúllépés a szervernél. |
== Felhasznált irodalom, hasznos oldalak == |
== Felhasznált irodalom, hasznos oldalak == |
A lap 2010. november 7., 15:31-kori változata
Tartalomjegyzék |
1 XAMPP
1.1 Mi is az a XAMPP?
A Xampp egy ingyenes szoftvercsomag, amellyel egyszerűen és kényelmesen telepíthetünk Apache webszervert a gépünkre. Több operációs rendszerrel is kompatibilis, létezik Linux, Windows és Solaris változata is. Alapvetően egy Apache disztribúció, amely több (hasznos) alkalmazást is magába foglal, mint például a MySQL, PHP, Pearl, PHPmyadmin és a ProFTPd.
Jelen oldal célja, a webszerver tesztelése megadott programok segítségével, ezért szükségünk van egy Apache szerverre.
1.2.XAMPP telepítése, kezelése, eltávolítása
1.2.1. XAMPP telepítése
a) A weboldalról letöltjük az épp aktuális verziót:
http://www.apachefriends.org/download.php?xampp-linux-1.7.3a.tar.gz
b) A terminál ablakban a következő paranccsal bontjuk ki:
tar xzvf xampp-linux-1.4.11.tar.gz -C /opt
c) A /opt könyvtárban egy új mappa jött létre lampp néven és ezzel kész is a telepítés.
1.2.2. XAMPP kezelési parancsok
a) Új webszerver indítás
Ha egy új szervert akarunk indítani a következőket írjuk be a terminál ablakba:
/opt/lampp/lampp start
, ekkor elindulnak a szolgáltatások:
Starting XAMPP 1.7.3a... LAMPP: Starting Apache2... LAMPP: Starting MySQL... LAMPP started.
Ezzel az a paranccsal az összes komponenst elindítottuk, nem feltétlenül kell minden programot egyszerre futtatnunk, elindíthatóak egyesével is: (például lehet olyan eset, hogy webszerverünknek nincs szüksége MySQL-re)
/opt/lampp/lampp startapache /opt/lampp/lampp startmysql /opt/lampp/lampp startftp /opt/lampp/lampp startssl
b) Szerver újraindítás
/opt/lampp/lampp restart
c) Szerver megállítás
/opt/lampp/lampp stop
Vagy ha csak egy adott alkalmazást kívánunk leállítani:
/opt/lampp/lampp stopapache /opt/lampp/lampp stopmysql /opt/lampp/lampp stopftp
1.2.3. Váltás PHP4 és PHP5 között
A XAMPP képes váltani a PHP4 és PHP5 között. Ennek akkor van értelme, ha egy fejlesztő alkalmazása nem működik PHP5 alatt csak PHP4-en.
A váltáshoz szükséges parancsok:
php5→php4:
/opt/lampp/lampp php4
php4→php5:
/opt/lampp/lampp php5
1.2.4. A XAMPP eltávolítása
rm -rf /opt/lampp
2 A vizsgálathoz felhasznált programok: vmstat, netstat, IPtraf, ntop, httperf
[link: https://unixlinux.tmit.bme.hu/vmstat,netstat,IPtraf,ntop,httperf]
3 A szerver vizsgálat eredményei
Az ntop és az IPtraf grafikus felülettel rendelkező hálózatfigyelő programok, a webszerver tesztelés során nem használtam fel őket, de használatukról készítettem írásos anyagot.
1. vmstat-tal vizsgálva a szervert:
vmstat -a megjeleníti a szerverünk aktív és nem aktív memóriáját:
procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------ r b swpd free inact active si so bi bo in cs us sy id wa st 4 0 271260 6480 170960 150444 45 65 540 138 1665 3638 24 24 47 6 0
vmstat -d megjeleníti a szerverünk diszk partícióit és azok adatait:
disk- ------------reads------------ ------------writes----------- -----IO------ total merged sectors ms total merged sectors ms cur sec sda 178227 66244 8013348 6685339 24043 217209 1926350 1620947 0 832 sda1 142 2154 3076 1845 0 0 0 0 0 1 sda2 3 0 6 299 0 0 0 0 0 0 sda5 126 2393 3276 1969 0 0 0 0 0 1 sda6 21205 59928 642610 375149 5846 108882 917832 178545 0 334 sda7 156289 1290 7357214 6288773 17561 108244 1006410 1436874 0 683 sda8 409 282 5166 16934 182 83 2108 3888 0 5 sr0 0 0 0 0 0 0 0 0 0 0 loop0 0 0 0 0 0 0 0 0 0 0 loop1 0 0 0 0 0 0 0 0 0 0 loop2 0 0 0 0 0 0 0 0 0 0 loop3 0 0 0 0 0 0 0 0 0 0 loop4 0 0 0 0 0 0 0 0 0 0 loop5 0 0 0 0 0 0 0 0 0 0 loop6 0 0 0 0 0 0 0 0 0 0 loop7 0 0 0 0 0 0 0 0 0 0 sr1 21 125 1168 378 0 0 0 0 0 0 sdb 0 0 0 0 0 0 0 0 0 0
2. Netstat-tal vizsgálva a szervert:
netstat -nr kiírja a szerverünk routing táblája:
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
netstat -i kiírja a szerverünk interfészeit, az MTU-t, a küldött és vett csomagok számát (az elveszetteket is):
Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 0 0 0 0 0 0 0 0 BMU lo 16436 0 108 0 0 0 108 0 0 0 LRU ppp0 1500 0 2966 0 0 0 3006 0 0 0 MOPRU
netstat -g kiírja a szerverünk IPv4, IPv6 csoporttagságait:
IPv6/IPv4 Group Memberships Interface RefCnt Group --------------- ------ --------------------- lo 1 ALL-SYSTEMS.MCAST.NET eth0 1 ALL-SYSTEMS.MCAST.NET ppp0 1 ALL-SYSTEMS.MCAST.NET lo 1 ipv6-allnodes eth0 1 ipv6-allnodes ppp0 1 ipv6-allnodes
netstat -l a „hallgatózó” szerver socketek listázza ki:
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:smtp *:* LISTEN tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:smtp *:* LISTEN udp 0 0 *:820 *:* udp 0 0 *:53437 *:* udp 0 0 *:bootpc *:* udp 0 0 *:mdns *:* udp 0 0 *:sunrpc *:* udp 0 0 *:ipp *:* udp 0 0 *:820 *:* udp 0 0 *:sunrpc *:* Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 6474 @/var/run/hald/dbus-5xGa2LPKv8 unix 2 [ ACC ] STREAM LISTENING 11508 private/bounce unix 2 [ ACC ] STREAM LISTENING 11512 private/defer unix 2 [ ACC ] STREAM LISTENING 11516 private/trace unix 2 [ ACC ] STREAM LISTENING 7598 @/tmp/dbus-tp88b9tqUu
netstat -ta aktív TCP socketek kilistázása:
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:smtp *:* LISTEN tcp 0 0 91.83.125.55.pool:39195 OCSP.IAD3.VERI:www-http TIME_WAIT tcp 0 0 91.83.125.55.pool:55886 hb-in-f83.1e100.n:https ESTABLISHED tcp 0 0 91.83.125.55.pool:46471 hb-in-f104.1e100.:https ESTABLISHED tcp 1 0 91.83.125.55.pool:40777 184-106-213-18:www-http CLOSE_WAIT tcp 38 0 91.83.125.55.pool:51176 elan.rulez.org:https CLOSE_WAIT tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:smtp *:* LISTEN
3. A httperf során kapott eredmények:
Az Apache szervert elindítjuk:
/opt/lampp/lampp startapache
A httperf legegyszerűbb szimulációja: egyetlen TCP kapcsolat felépítése a szerverrel, majd egyetlen HTTP GET kérés küldése és a válaszra várunk:
httperf −−hog −−server localhost
A mérés statisztikája és az egyes részek megnevezése: A mérés során használt beállítások, a többi a default beállítás:
httperf --client=0/1 --server=localhost --port=80 --uri=/ --send-buffer=4096 --recv-buffer=16384 --num-conns=1 --num-calls=1
A mérés összegzése: 1 kapcsolat, 1 küldött csomag, 1 válasz rá és a mérés ideje:
Maximum connect burst length: 0 Total: connections 1 requests 1 replies 1 test-duration 5.017 s
A kapcsolat és a küldések paraméterei:
Connection rate: 0.2 conn/s (5016.6 ms/conn, <=1 concurrent connections) Connection time [ms]: min 5016.6 avg 5016.6 max 5016.6 median 5016.5 stddev 0.0 Connection time [ms]: connect 0.3 Connection length [replies/conn]: 1.000 Request rate: 0.2 req/s (5016.6 ms/req) Request size [B]: 60.0
A válaszokból készült statisztika:
Reply rate [replies/s]: min 0.0 avg 1.0 max 1.0 stddev 0.0 (1 samples) Reply time [ms]: response 5.8 transfer 5010.5 Reply size [B]: header 293.0 content 0.0 footer 0.0 (total 293.0) Reply status: 1xx=0 2xx=1 3xx=0 4xx=0 5xx=0
rendszer paraméterek a mérés során:
CPU time [s]: user 0.63 system 3.59 (user 12.5% system 71.5% total 84.0%) Net I/O: 0.1 KB/s (0.0*10^6 bps)
Hibák száma, fajtái:
Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0 Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0 ----
Az Apache szerverünk tehát jól vizsgázott ezen a mérésen. Nézzük meg ha növeljük a terhelést:
Itt most 100 kapcsolatot építünk ki a szerverrel és 231 kérést küldünk neki:
httperf --hog --timeout=5 --client=0/1 --server=localhost --port=80 --uri=/ --rate=1 --send-buffer=4096 --recv-buffer=16384 --wsess=100,5,2.000 Maximum connect burst length: 1 Total: connections 100 requests 231 replies 140 test-duration 117.524 s Connection rate: 0.9 conn/s (1175.2 ms/conn, <=17 concurrent connections) Connection time [ms]: min 8058.5 avg 15948.5 max 29130.0 median 16050.5 stddev 5295.0 Connection time [ms]: connect 516.2 Connection length [replies/conn]: 2.258 Request rate: 2.0 req/s (508.8 ms/req) Request size [B]: 59.0 Reply rate [replies/s]: min 0.0 avg 1.2 max 1.8 stddev 0.6 (23 samples) Reply time [ms]: response 457.3 transfer 2751.9 Reply size [B]: header 301.0 content 145902.0 footer 2.0 (total 146205.0) Reply status: 1xx=0 2xx=140 3xx=0 4xx=0 5xx=0 CPU time [s]: user 9.73 system 91.43 (user 8.3% system 77.8% total 86.1%) Net I/O: 170.2 KB/s (1.4*10^6 bps) Errors: total 91 client-timo 91 socket-timo 0 connrefused 0 connreset 0 Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0 Session rate [sess/s]: min 0.00 avg 0.08 max 0.20 stddev 0.07 (9/100) Session: avg 1.00 connections/session Session lifetime [s]: 22.4 Session failtime [s]: 11.0 Session length histogram: 38 22 23 5 3 9
Itt már csak 140 kérésre érkezett válasz és 91 alkalommal volt időtúllépés a szervernél.
4 Felhasznált irodalom, hasznos oldalak
http://www.linuxvilag.hu/content/files/cikk/63/cikk_63_51_53.pdf