This document replaces the outdated article with the ID 5265B and the title "Definition of the "wastatistics" Monitor Page Response Items".
The Intershop Webadapter (WA) provides runtime read access to most of its internal state information. If configured, it is delivered as a text page in response to a request http://<host>/INTERSHOP/wastatistics to the Intershop HTTP Server. The content of the generated page is explained in detail here.
Information to identify the hosting HTTP server.
The compiler flags used for building the WA. Provides detailed version and platform information.
An interface address of the HTTP server host and the port/protocol information. When sending the wastatistics request through a load-balancer, this allows to identify the WA, which actually generated the response.
Process-ID of the hosting webserver process. When running multiple HTTP server instances at one machine, this allows to correlate the "wastatistics" output with the correct per-process monitoring information from the OS.
The runtime ID identifies a shared configuration of webserver/webadapter processes/threads. This value helps to track restarts of the HTTP server and WA (runtime ID changes). It also helps to distinguish two or more webadapters using the same instance-id.
The time of the last HTTP server restart (runtime ID change).
SERVER_SOFTWARE=Apache/2 CFLAGS=-Wall -m64 -fPIC -D_REENTRANT -DLINUX -DIS_VERSION="126.96.36.199" -DIS_DATE="2020-07-02" -O -g IP=10.0.77.165:80 (http) PID=23532 RUNTIMEID=GEbBMTCQ2Qo/3DCkjbnURQ== INITIALIZATION_TIME=2020-11-16 10:54:34 CET
configuration version identifier; sent with all configuration service polling requests; evaluated by configuration service to respond either "unchanged" or the new configuration, including the new configID
seconds since last configuration service request
seconds since last real configuration update (the configuration service really returned new data instead of the normal "unchanged" code)
Flags that an error occurred during the last attempt to poll the configuration service and/or to read the local property file.
In such an insane state, the WA will not process any request - configuration service and/or property file must be fixed. In parenthesis: the number of such total failure periods since last HTTP server startup.
polling: configID:1605520696114 poll:1169 update:54040 CSPollError:0 (0) propReadError:0 (0)
List of the configured configuration services (cs.url.#= properties). The currently used service is indicated by an asterisk.
configuration services: 0 10.0.77.165:10064/servlet/ConfigurationServlet * 1 10.0.77.165:10054/servlet/ConfigurationServlet
This is a list of all registered Intershop application servers (AS) with usage and load-balancing statistics. WA implements separate load-balancing for session-bound and session-less (single) requests. Each AS serves both types. Thus, there are two tables listing the same servers with separate statistics.
Host/port of the application server.
CRC checksum of the server host/port string. This value is incorporated into session IDs to realize the session/server affinity.
Number of quality registrations for this server. The counter is incremented whenever the server was chosen to process a request and a connect/read/write fails ("error penalty" registration) or a "200 OK, no X-Error" response is received (normal response time registration).
Number of regular response time measure registrations for this server. (The total number of requests successfully responded by the server. Difference to "tries" is the number of failed attempts to communicate with the server.)
Seconds of uninterrupted registration of the server within the WA. The counter is reset when a server has disappeared from the configuration and appears again. It is also reset on Webserver/Webadapter restart.
Seconds since last response was successfully received from the server.
Response time measures are averaged over few seconds before the average is used as filter input to compute the smoothed server response time ms_f. ms_s is the current average value in milliseconds. In normal operation, it is a quick and noisy indicator of the current server speed. Very large values (>10000) indicate that some connect/write/read "error penalties" were registered - normally due to server/network failure/overload.
Smoothed server response time after applying the configured low pass filtering. This is the server quality indicator to be used for the load balancing algorithm. Very large values (>10000) indicate that some connect/write/read "error penalties" were registered - normally due to server/network failure/overload.
Factor for each application server, used for weight based load balancing. More details can be found in Guide - Web Adapter Settings
WFS BOS JOB ...
One column for each server group of the cluster. Indicates the usage probability for the server within this server group. The probabilities are derived directly from the quality indicators ms_f according to the specification.
session: server hash tries resp uptime last ms_s ms_f weight BOS JOB WFS 0 10.0.77.165:10054 a73d16d8 1147 1147 83046 1169 18 1633 1 0.8217 0.8217 0.8217 1 10.0.77.165:10064 489d74fa 972 972 83080 2717 113 7524 1 0.1783 0.1783 0.1783 single: server hash tries resp uptime last ms_s ms_f weight BOS JOB WFS 0 10.0.77.165:10054 a73d16d8 1021 1021 83046 2383 2 2 1 0.4646 0.4646 0.4646 1 10.0.77.165:10064 489d74fa 1283 1283 83080 2383 1 2 1 0.5354 0.5354 0.5354
This is a list of all sites currently known to the WA, including current cache setup and usage statistics.
currently used directory for the pipeline response cache of this site; changes when a "invalidate complete cache" is performed
flags whether the site's pipeline response cache is enabled(1) or disabled(0); set via SMC and/or channel preferences
total number of pipeline requests for this site
number of cache responses to pipeline requests
currently used directory for the static file cache of this site; changes when a "invalidate complete cache" is performed
cache lifetime for all static files of the site in seconds (0 for disabled); set via SMC and/or channel preferences
total number of static requests for this site
number of cache responses to static requests
sites: site status pipelineCacheID on requests hits staticCacheID interval requests hits 0 ContactCenter live 1601282082571 1 0 0 1601282082571 86400 0 0 1 Myers-ShoppingLive-Site live 1601282164883 1 0 0 1601282164883 86400 0 0 2 SLDSystem live 1604637140495 1 376 0 1604637140495 86400 57 35 3 SMC live 1604637154821 1 9 0 1604637154821 86400 80 61 4 TestEnterprise-Site live 1601282101262 1 0 0 1601282101262 86400 0 0 5 TestEnterprise-TestPartnerChannel-Site live 1601282125982 1 0 0 1601282125982 86400 0 0 6 TestEnterprise-TestSalesChannel-Site live 1601282117561 1 0 0 1601282117561 86400 0 0 7 TestEnterprise-TestSalesChannelWithBusinessStorefront-Site live 1601282125263 1 0 0 1601282125263 86400 0 0 8 TestSLDSystem live 1601281732567 1 0 0 1601281732567 86400 0 0 9 eTest live 1601281727782 1 0 0 1601281727782 86400 0 0 10 inSPIRED-ResellerChannel-Site live 1601282164209 1 0 0 1601282164209 86400 0 0 11 inSPIRED-Site live 1604637159659 1 1428 536 1604637159659 86400 1870 1256 12 inSPIRED-inTRONICS-Site live 1604312454599 1 705 265 1604312454600 86400 529 250 13 inSPIRED-inTRONICS_Business-Site live 1605549735432 0 403 0 1605549735432 0 1416 0 14 root live 1604637166641 1 0 0 1604637166641 86400 0 0
Global cache performance overview. Different cache operations are accounted (count) and the average duration of the last 10 such operations is measured (ms):
response was searched in the cache, found and returned to client
response was searched in the cache and not found
a cacheable response was received from AS and written into the cache.
a non-cacheable response was received from AS and there are chances that a previous, cacheable version is still in the cache
pipeline response cache: count ms hit 802 3 miss 3358 0 write 277 0 remove 269 0 static file cache: count ms hit 1601 2 miss 932 0 write 886 0 remove 0 0
Counts how many requests were forwarded to the ASs in the last 1/10/60/1440 minutes and within the HTTP server uptime:
total number of requests currently blocked in an AS connect attempt or in the sleep interval between multiple attempts
first connect attempt to the AS succeeded
no successful connect to an AS after as.maxtries attempts within as.maxwait seconds
second or later connect attempt to an AS succeeded
number of AS responses with:
socket I/O problems when sending the request or receiving the response (e.g. as.socket.timeout exceeded)
HTTP status code >= 400 (e.g. "404 Not Found" responses to INTERSHOP/static requests)
an "X-IS-Error" response header set (error pages from the Intershop platform)
mean number of retries
with "waitings" above > 0; the average number of connect attempts (without the first one) until success
request queue: currently waiting: 0 AS requests in the last minutes: minutes 1 10 60 1440 overall without waiting 0 0 299 4470 4470 given up's 0 0 0 0 0 waitings 0 0 0 0 0 error responses 0 0 0 47 47 mean number of retries n/a n/a n/a n/a n/a
Lists the current, effective property values as received from the configuration service, read from the local property file or set as fallback default.
properties: wastatus.defaultResponse=200 wsrp.initialSite=root vanity.pathinfo=/WFS/SLDSystem/-/-/-/URLMapping-Resolve servlet.allow.0=/SOAP servlet.allow.1=/WebService servlet.allow.2=/Axis2 servlet.allow.3=/broker requestlog.dir=/home/intershop1/a_responsive_1/eserver1/local/webadapter/log requestlog.instance.id= requestlog.enabled=true requestlog.flushinterval=10 requestlog.switchinterval=3600 requestlog.buffersize=500000 requestlog.includes=true requestlog.binary=true requestlog.sparse=true pagecache.static.enabled=true pagecache.pipeline.enabled=true pagecache.dir=/home/intershop1/a_responsive_1/eserver1/local/webadapter/pagecache pagecache.directoryTree=xx/xx/ pagecache.ignoreGetCacheControlHeaders=true pagecache.ignorePostCacheControlHeaders=true pagecache.pageRegenerationPhase=30 pagecache.pageRegenerationMaxage=300 pagecache.allowAuthorization=true pagecache.monitor=true cs.poll.interval=10 cs.poll.maxwait=60 cs.poll.maxtries=5 cs.connect.timeout=15 cs.socket.timeout=15 as.maxwait=120 as.maxtries=40 as.connect.keepalive=false as.connect.timeout=10 as.socket.timeout=300 as.hash.key=42 as.monitor=false session.skipForUserAgent.0=intershop webadapter agent session.skipByRedirect=false request.remoteAddrHeader=X-Forwarded-For sslbox.webserver.port= sslbox.public.port=443 include.maxdepth=16 stream.buffersize=100000 post.maxsize=0 post.cachesize=16000 cicevent.enabled=false cicevent.removeTags=true session.ttl=21600 session.bindToUserAgent=false session.forwardInUrl=false session.tracking.mode=CookieOnly session.SIDCookie=Set-Cookie: sid=%v; Path=/; Version=1; HttpOnly session.PGIDCookie=Set-Cookie: pgid-%s=%v; Path=/; Version=1; HttpOnly ctl.commandPrefix=wa_ ctl.trace.markupStyle=text-align:left; margin-left:1ex; font-family:Lucidatypewriter,Fixed,monospace; font-size:small; word-wrap:normal; session.lb.filterperiod=120 (samplePeriod=15 filterCoeff=0.157) session.lb.qualityweight=1 request.lb.filterperiod=30 (samplePeriod=3 filterCoeff=0.129) request.lb.qualityweight=1 lb.initialTimeFactor=5.0 lb.connectPenaltyFactor=1.5 monitor.instance.id=10.0.77.165 monitor.pushinterval=0 monitor.propertyInterval=600 monitor.pathinfo=/BOS/SMC/-/-/-/WebadapterStatistics-Push errorpage.dir=/home/intershop1/a_responsive_1/eserver1/local/webadapter/public errorlog.file=/home/intershop1/a_responsive_1/eserver1/local/webadapter/log/webadapter.log errorlog.level.log=INFO errorlog.level.fileutils=INFO errorlog.level.utils=INFO errorlog.level.socket=INFO errorlog.level.response=INFO errorlog.level.webserver=INFO errorlog.level.httpexternal=INFO errorlog.level.httpinternal=INFO errorlog.level.main=INFO errorlog.level.request=INFO errorlog.level.properties=INFO errorlog.level.session=INFO errorlog.level.pagecache=INFO errorlog.level.postprocess=INFO errorlog.level.config=INFO intershop.urlmapping.pipeline.webadapter=/INTERSHOP/web intershop.urlmapping.pipeline.appserver=/servlet/Beehive intershop.urlmapping.static.webadapter=/INTERSHOP/static intershop.urlmapping.static.appserver=/servlet/Resource intershop.urlmapping.servlet.webadapter=/INTERSHOP/servlet intershop.urlmapping.servlet.appserver=/servlet intershop.urlmapping.rest.webadapter=/INTERSHOP/rest intershop.urlmapping.rest.appserver=/servlet/REST intershop.urlmapping.dist.webadapter=/INTERSHOP/dist intershop.urlmapping.dist.appserver=/servlet/Dist intershop.urlmapping.wsrp.webadapter=/wsrp intershop.urlmapping.wsrp.appserver=/servlet/WSRP intershop.urlmapping.wastatus.webadapter=/INTERSHOP/wastatus intershop.urlmapping.wastatistics.webadapter=/INTERSHOP/wastatistics intershop.urlmapping.csrf.appserver=/servlet/CSRF webadapterAgent.pageCache.keywords.inSPIRED-inTRONICS-Site.enabled=true
This section lists all pending AS requests with some state information. This is only available when "as.monitor = true" is configured and when there are requests that are currently processed.
When forwarding requests, WA tries to connect to the AS and processes the request (send request/receive response) on success or sleeps for a while and tries the connect again on error.
These values counts how many requests are waiting in total and how many in which state.
some "uniqe request id"; used to track a particular request in the list
total number of seconds since arrival of the request
number of attempts
number of seconds since "state" was reached
indicates the server and the URL; URL is truncated to about 200 characters
Responses can be read as follows:
000101 2 1 connect 2 10.0.77.165:10064/servlet/Beehive/...
Request came in 2 seconds ago; is still in its first connect attempt
000102 90 8 sleep 1 10.0.77.165:10054/servlet/Beehive/...
Request came in 90 seconds ago; failed 7 times to connect and sleeps since 1 second (before doing its next configuration query and connect attempt, possibly to some other fail-over server then)
000103 65 5 process 7 10.0.77.165:10064/servlet/Beehive/...
Request came in 65 seconds ago; managed to get an AS connection in the 5th attempt 7 seconds ago; WA waits for respose
pending AS requests: total: 2 connect: 0 process: 2 sleep: 0 id tot try state sec request 000101 2 1 process 2 10.0.77.165:10064/servlet/Beehive/WFS/inSPIRED-inTRONICS-Site/en_US/-/USD/Default-Start 000102 1 1 process 1 10.0.77.165:10054/servlet/Beehive/WFS/inSPIRED-inTRONICS-Site/en_US/-/USD/Default-Start
There are several limitations in the request registration to keep the implementation simple and local to the main queuing loop:
• "streamed" AS responses are unregistered once the response headers were received, not after finishing the request.
• Requests could be blocked in configuration service polling. This state is not explicitly indicated in the list. They are not present (first configuration query) or listed as "sleep" (configuration query within a retry).
• "process" gives no indication whether WA is sending the request or awaiting or reading the response.
Recent Intershop versions are already prepared to show the wastatistics monitor, but the access is restricted by IP. It can be reached only locally. The IP range can be changed in the $IS_HOME/webadapter/httpd-webadatper.conf file.
<LocationMatch /wastatistics> Require ip 127.0.0.1/32 </LocationMatch>
The wastatistics monitor URL is:
To enable detailed request queue monitoring, set
as.monitor = true in webadapter.properties.
When using this feature with an Apache HTTP Server with > 1000 processes or if shared memory problems are reported in <eserver>/webadapter/log/webadapter.log, increase shm.size in <eserver>/webadapter/webadapter.properties.
To disable detailed page cache monitoring, set
pagecache.monitor = false in webadapter.properties.
The cache request/hit counters are no longer incremented then. The reduced self-monitoring overhead may improve the throughput under very special and extreme conditions.
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.