Tuning - apache, kernel (pro velmi vytížené web servery)
Jelikož spravuji velmi zatížené web servery, musel jsem se poohlédnout po určitých upravách apache a kernelu, aby server zvládal odbavit více klientů najednou. Protože docházelo, že pro server se bližil k maximu otevřených souborů a procesů na jednoho učivatele a začal vypisovat hlašky do logu o maximech :)
Úprava APACHE 2Abychom mohli spustit více jak 256 clientů (maxclíent) musime upravit zdrojak apache. Uprava zdrojáku zeleží na režimu serveru. Já například používám PREFORK a proto musím upravit LIMIT v server/mpm/prefork/prefork.c. V tomto souboru zvedneme počet max clientů na 512.
z
#define DEFAULT_SERVER_LIMIT 256
na
#define DEFAULT_SERVER_LIMIT 512
Úprava KERNEL verze 2.4.Pro upravu poctu otevrenych souboru si musíte pčeložit vlastní jádro, protože ve standartních jádrech je omezení na 1024. Abych nemusel cel0 jadro konfigurovat, stahnu si zdrojaky z ftp.linux.cz a nejnovější balík kernelu z Mandraku. Z neho si vypreparuji configuraci aktualního jadra (.config) a tuto konfiguraci použiji na mé upravené zdrojáky.
V souboru /usr/src/linux-2.4/include/linux/fs.h
#define NR_FILE 1024 /* this can well be larger on a larger system */
#define NR_RESERVED_FILES 10 /* reserved for root */
na
#define NR_FILE 8192
#define NR_RESERVED_FILES 80
Dale upravit v /usr/src/linux/include/linux/limits.h
#define NR_OPEN 4096
Upravit /usr/src/linux/include/linux/posix_types.h
#define __FD_SETSIZE 4096
Upravit /usr/src/linux/include/linux/socket.h
#define SOMAXCONN 1024
Následně přeložíme jádro a nainstalujeme na naš server. Po rebootu si pak proveříme změněné hodnoty pomocí
ulimit -a
« Zpět na seznam