Apache a *BufferSize
Ludek Finstrle
luf na pzkagis.cz
Pátek Říjen 15 11:27:23 CEST 2010
Ahoj,
Fri, Oct 15, 2010 at 08:55:23AM +0200, David Hrbáč napsal(a):
> Dne 14.10.2010 17:03, Ludek Finstrle napsal(a):
> > mam konfiguraci client <--> apache <--> aplikac. Mezi clientem a apachem
> > je mizerna sit a na apache je pouzita apachova proxy, popr. mod_wl.
> > Potreboval bych, aby se odpoved na request nezdrzovala na aplikaci, aby
> > ten vychrlil odpoved, apache ji vzal a trapil se s odeslanim na klienta.
> >
> > Prislo mi, ze je na to SendBufferSize ci ProxyBufferSize. Ale bohuzel
> > ani jedno nezabira (zbabele jsem zkusil i ReceiveBufferSize).
> >
> > Cast apachoveho configu:
> > Timeout 90
> > KeepAlive On
>
> to co píšeš by mělo být standardní chování proxiny, t.z. převzít data od
> aplikačního serveru a pomalu obsloužit klienta. Nevidím celou
obavam se, ze toto strilis od boku. Takto se apache rozhodne nechova.
Opet jsem to zkusil a apache to nenatahne cele.
Zarazi me, ze ani ProxyReceiveBufferSize 4194304 nic nemeni.
Jinak jedinou zmenu jsem zaznamenal, kdyz jsem zmenil:
/proc/sys/net/ipv4/tcp_rmem
4096 4194304 4194304
nikde jsem poradne nenasel presny popis, ze ktereho bych pochopil,
co to presne znamena. Vim, ze to jsou receive buffery (ale pro spojeni ci
listen, je to vzdy takto vytvoreno ci je umozneno zvetsit az na tu hodnotu).
Mel jsem pocit, ze chci zvetsit spise send/w stranu. Normalne mame kole
3000 tcp spojeni a v zatezi i vic. Nejsem si jist, zda bych takovouto
zmenou nevytekl z pameti. Pokud by nekdo mel odkaz na pekny popis,
byl bych taky vdecny.
Zarazi me, ze jsem temer nenarazil na podobny pozadavek (a kdyz narazil,
tak to byla jen otazka bez reseni). Jde to resit pomoci nejakych filtru?
> konfiguraci, takže můžu jen hádat, ale určitě bych odstranil Keepalive a
> otestoval.
Cely konfig je dost standardni, nic specialniho, ale uvedu ho.
Diky
Luf
ServerTokens Prod
ServerRoot "/etc/httpd_luf"
PidFile run/httpd_luf.pid
Timeout 90
KeepAlive Off
ProxyReceiveBufferSize 4194304
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 25
ServerLimit 1000
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule status_module modules/mod_status.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
Include conf.d/*.conf
ExtendedStatus On
User apache
Group apache
UseCanonicalName Off
DocumentRoot "/var/www/html"
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
Options Indexes FollowSymLinks
DirectoryIndex index.html index.html.var
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
DefaultType text/plain
HostnameLookups Off
ErrorLog logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access_log combined
ServerSignature On
AddDefaultCharset UTF-8
Listen 192.168.32.253:443
NameVirtualHost 192.168.32.253:443
<VirtualHost 192.168.32.253:443>
ServerName server
DocumentRoot "/var/www/html/"
SSLEngine on
SSLCertificateFile /etc/httpd_luf/conf/certs/server.crt
SSLCertificateKeyFile /etc/httpd_luf/conf/certs/server.key
SSLProxyEngine on
<Location />
ProxyPass https://server2/ timeout=600
ProxyPassReverse https://server2/
SetEnv proxy-nokeepalive 1
</Location>
</VirtualHost>
<IfModule mod_ssl.c>
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
</IfModule>
Další informace o konferenci Linux