Apache terhelési/biztonság vizsgálat

Fórumok

Sziasztok,

FreeBSD 7.1 szerveren futtatok 2.2-es Apache-et, es PHP5-ot. (de maga a problema regebben mas verziokkal is fennallt) Mindig frissitem amugy ezeket (es minden mast is) Portupgrade-el a legfrissebbre.

Jelenlegi telepitesek:

apache-2.2.11_3
php5-5.2.8
mysql-server-5.1.30
mysql-client-5.1.30

Az apache konfiguracio az alaptol ennyiben ter el:
ServerTokens Minor
ServerSignature Off
ExtendedStatus On
HostnameLookups On

A gond az hogy nehany weblap szerintem rosszul van megirva, vagy spammelik, vagy nem tudom, de az apache napjaban tobbszor megall ugy hogy a processz fut, de kiszolgalni mar nem tud (az irja ki a bongeszo: A Kapcsolat alaphelyzetbe allt). Kb. 50 virtualis hosztot futtat egyebkent.
Ekkor kill-elem a pid-et majd ujrainditas utan megint jo.

Beallitottam a server-status funkciot, de nekem ez sajnos sokat nem mond.
A logokban sincs sok info, max ennyi:

[Mon Mar 16 20:23:11 2009] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 16 children, there are 0 idle, and 36 total children
[Mon Mar 16 20:24:08 2009] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 2 idle, and 27 total children
[Mon Mar 16 20:24:09 2009] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 16 children, there are 3 idle, and 35 total children
[Mon Mar 16 20:25:23 2009] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 4 idle, and 45 total children

DE ezek se mondanak sokat. Meg mivel info-k igy gondolom nem ez a problema megoldasahoz vezeto jel.

Ha tud valaki segitsen!

Koszi

Hozzászólások

hostnamelookups off, keepalive off, szarul megírt oldalak tulajdonosaival szerződést bontani.

esetleg megteni amit javasol???
you may need to increase StartServers, or Min/MaxSpareServers

alapbol ezek altalaban nagyon kis szamokon alnak!

mgb

Ha jon egy nagyobb terheles, ez a maxclients ertek jo esellyel meg fogja olni a gepet. A maxclients erteke ha tul nagy, akkor ahogy szuletnek az apache processek, elobb el fog fogyni a fizikalis memoria, majd a gep elkezd swapelni, ami miatt a load fel fog szokni az egekbe, a gep pedig beall. A maxclients ertek ne legyen nagyobb, mint amennyit a gep ki tud szolgalni! (Ez pedig attol fugg, hogy mennyi memoria van a gepben)

szvsz a MaxRequestsPerChild irrealisan alacsony... valoban azt szeretned, hogy egy child csak 10 kerest szolgaljon ki, es utana uj child jojjon letre helyette?

A tobbi ertek is erdekes, 50 vhost-ra 30..200 kozott tartott szabad szerver tulzas, hacsak nincs extrem nagy forgalma valamelyiknek, ami ezt indokolna. 2500 klienst nagy valoszinuseggel az eletben nem fogsz egyszerre kiszolgalni.

ExtendedStatus On + server-status, ez hasznos.

Ezek mint irtam be is vannak kapcsolva. De most kicsit jobban utanaolvastam a server-status-nak, valoban hasznos infokat tartalmazhat. Pl. most gyanussa valt az egyik portal, melyet letiltottam es most sokkal jobb...

Viszont most a fenti beallitasokkal elertem, hogy az apache nem all be (eddig), viszont most meg a mysql nem birja (Too many connection)

A beallitas: max_connections = 1000

Erre van valamilyen optimalizalasi otletetek?