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