XAMPP

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(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

http://wiki.hup.hu/index.php/Netstat

http://iptraf.seul.org/

http://www.ntop.org/news.php

http://www.hpl.hp.com/research/linux/httperf/docs.php

Személyes eszközök