Hard Maximum number of connections that will be allowed to the backend server.
The default for a Hard Maximum for the number of connections is the number of threads per process in the active MPM.
In the Prefork MPM, this is always 1, while with the Worker MPM it is controlled by the ThreadsPerChild.
Apache will never create more than the Hard Maximum connections to the backend server.
smax
max
所谓的软性最大值,如果连接数超过smax后,大于smax的链接就会进行ttl空闲连接管理
Upto the Soft Maximum number of connections will be created on demand.
Any connections above smax are subject to a time to live or ttl.
connectiontimeout
timeout
创建链接的超时时间,单位毫秒
Connect timeout in seconds.
The number of seconds Apache waits for the creation of a connection to the backend to complete.
By adding a postfix of ms the timeout can be also set in milliseconds.
timeout
ProxyTimeout
等待后端的应用返回数据的超时时间,不可太长,也不可太短
Connection timeout in seconds. The number of seconds Apache waits for data sent by / to the backend.
ttl
-
空闲连接的管理时间
Time To Live for the inactive connections above the smax connections in seconds.
Apache will close all connections that has not been used inside that time period.
The configured ProxyPass and ProxyPassMatch rules are checked in the order of configuration. The first rule that matches wins.
So usually you should sort conflicting ProxyPass rules starting with the longest URLs first.
Otherwise later rules for longer URLS will be hidden by any earlier rule which uses a leading substring of the URL.
Note that there is some relation with worker sharing.
For the same reasons exclusions must come before the general ProxyPass directives
说明:
Bug 43513 - Persistent backend connections for ProxyPassMatch
ProxyPassMatch creates a worker like ProxyPass does,but it uses regex URI for a worker name.
For example, your httpd.conf:
ProxyPassMatch ^/test/(\d+)/foo.jpg http://backend.example.com/$1/foo.jpg
then worker name is "http://backend.example.com/$1/foo.jpg", so URL never matches and the worker is no longer used.
打开了apache的LogLevel为debug,看到了的确建立了以$1/$2为url的worker池
的确,我在测试时
[Tue Nov 09 22:12:06 2010] [debug] proxy_util.c(1818): proxy: grabbed scoreboard slot 0 in child 7897 for worker http://localhost:2200/$1/$2
[Tue Nov 09 22:12:06 2010] [debug] proxy_util.c(1837): proxy: worker http://localhost:2200/$1/$2 already initialized