Document Properties
KbidM29705
Last Modified26-Nov-2020
Added to KB24-Nov-2020
Public AccessEveryone
StatusOnline
Doc TypeSupport Articles
Product
  • ICM 7.7
  • ICM 7.8
  • ICM 7.9
  • ICM 7.10

Support Article - Definition of the "wastatistics" Monitor Page Response Items

1 Introduction

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.

1.1 References

2 wastatistics Response Description

2.1 Webserver / Webadapter

2.1.1 Descriptions

  • SERVER_SOFTWARE:
    Information to identify the hosting HTTP server.
  • CFLAGS:
    The compiler flags used for building the WA. Provides detailed version and platform information.
  • IP:
    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.
  • PID:
    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.
  • RUNTIMEID:
    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.
  • INITIALIZATION_TIME:
    The time of the last HTTP server restart (runtime ID change).

2.1.2 Response Example

webserver/webadapter
  SERVER_SOFTWARE=Apache/2
  CFLAGS=-Wall -m64 -fPIC -D_REENTRANT -DLINUX -DIS_VERSION="1.0.17.1" -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

2.2 Polling

2.2.1 Descriptions

  • configID:
    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
  • poll:
    seconds since last configuration service request
  • update:
    seconds since last real configuration update (the configuration service really returned new data instead of the normal "unchanged" code)
  • CSPollError/propReadError:
    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.

2.2.2 Response Example

Polling
polling:
  configID:1605520696114 poll:1169 update:54040 CSPollError:0 (0) propReadError:0 (0)

2.3 Configuration Services

2.3.1 Descriptions

List of the configured configuration services (cs.url.#= properties). The currently used service is indicated by an asterisk.

2.3.2 Response Example

Configuration Services
configuration services:
  0 10.0.77.165:10064/servlet/ConfigurationServlet *
  1 10.0.77.165:10054/servlet/ConfigurationServlet

2.4 Session / Single

2.4.1 Descriptions

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.

  • server
    Host/port of the application server.
  • hash
    CRC checksum of the server host/port string. This value is incorporated into session IDs to realize the session/server affinity.
  • tries
    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).
  • resp
    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.)
  • uptime
    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.
  • last
    Seconds since last response was successfully received from the server.
  • ms_s
    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.
  • ms_f
    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.
  • weight
    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.

2.4.2 Response Example

Session, Single
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

2.5 Sites

2.5.1 Descriptions

This is a list of all sites currently known to the WA, including current cache setup and usage statistics.

  • site
    site name
  • status
    site status
  • pipelineCacheID
    currently used directory for the pipeline response cache of this site; changes when a "invalidate complete cache" is performed
  • on
    flags whether the site's pipeline response cache is enabled(1) or disabled(0); set via SMC and/or channel preferences
  • requests
    total number of pipeline requests for this site
  • hits
    number of cache responses to pipeline requests
  • staticCacheID
    currently used directory for the static file cache of this site; changes when a "invalidate complete cache" is performed
  • interval
    cache lifetime for all static files of the site in seconds (0 for disabled); set via SMC and/or channel preferences
  • requests
    total number of static requests for this site
  • hits
    number of cache responses to static requests

2.5.2 Response Example

Sites
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

2.6 Pipeline Response Cache/Static File Cache

2.6.1 Descriptions

Global cache performance overview. Different cache operations are accounted (count) and the average duration of the last 10 such operations is measured (ms):

  • hit
    response was searched in the cache, found and returned to client
  • miss
    response was searched in the cache and not found
  • write
    a cacheable response was received from AS and written into the cache.
  • remove
    a non-cacheable response was received from AS and there are chances that a previous, cacheable version is still in the cache

2.6.2 Response Example

Pipeline Response Cache, Static File 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

2.7 Request Queue

2.7.1 Descriptions

Counts how many requests were forwarded to the ASs in the last 1/10/60/1440 minutes and within the HTTP server uptime:

  • currently waiting
    total number of requests currently blocked in an AS connect attempt or in the sleep interval between multiple attempts
  • without waiting
    first connect attempt to the AS succeeded
  • given up's
    no successful connect to an AS after as.maxtries attempts within as.maxwait seconds
  • waitings
    second or later connect attempt to an AS succeeded
  • error responses
    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

2.7.2 Example Response

Request Queue
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 

2.8 Properties

2.8.1 Descriptions

Lists the current, effective property values as received from the configuration service, read from the local property file or set as fallback default.

2.8.2 Example Response

Properties
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

2.9 Pending AS Requests

2.9.1 Descriptions

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. 

  • total/connect/process/sleep:
    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.
  • id
    some "uniqe request id"; used to track a particular request in the list
  • tot
    total number of seconds since arrival of the request
  • try
    number of attempts
  • state
    see above
  • sec
    number of seconds since "state" was reached
  • request
    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

2.9.2 Response Example

Pending AS Requests
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

3 Limitations

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.

4 Configuration

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.

IP Range
<LocationMatch /wastatistics>
   Require ip 127.0.0.1/32
</LocationMatch>

The wastatistics monitor URL is:

  • http://<host>/INTERSHOP/wastatistics[?<auto-refresh-seconds>]

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.

Disclaimer

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.

Customer Support
Knowledge Base
Product Resources
Tickets