Overview Quality of Service

Author

Paul van Genuchten

Published

November 10, 2022

Overview Quality of Service

Via the quality of service conventions data providers report about the quality of their services. Aspects which are monitored are:

  • Availability (% of the time that the service has been available)
  • Performance and capacity (a period in which performance and capacity requirements are not met, is considered downtime)
  • Usage (how much is the service used)

In each of the technical guidelines on view, download and discovery services a chapter is dedicated to Quality of Service. It includes the aspects of:

Reporting about usage of the service is documented in the monitoring guidelines paragraph 1.7. As a data provider you may be requested to provide this data to the national contact point. The national contact point reports these numbers to Europe. Aside the reporting obligations, usage reports are interesting feedback to guide future developments.

Measuring and reporting about Quality of Service is an aspect of step 7) Soil Information User Consideration in the soil information workflow. Consult your IT department or hosting company if they have tools available to assess these aspects. Confirm with them on how to extend and/or share with you these measurements for the requested parameters.

Availability monitoring

To assess the availability of a service, it requires to monitor the availability of the service at intervals. A basic availability-test every 5 minutes is sufficient. Many software exists for availability monitoring, such as Zabbix, Nagios, CheckMK, pingdom. A special mention for the Python based GeoHealthCheck package, which includes the capability on WMS/WFS services to drill down to the data level starting from the GetCapabilities operation.

Cookbook Software Description
GeoHealthCheck GeoHealthCheck A utility to report on availability of a service

Performance & Capacity testing

To know the capacity and performance of a service you can perform some load tests prior to moving to production. An alternative approach to evaluate performance is to extract the access logs of the service into an aggregation tool like Kibana and evaluate the number of requests exceeding the limits.

Cookbook Software Description
Capacity tests with jmeter jmeter Utility for performance and capacity testing

!!!note

A common challenge to service performance is the provision of a WMS service on a big vector dataset. When requesting that dataset on a national level, the server runs into problems drawing all the features at once. In such case consider to set up some cache/aggregation mechanism for larger areas. Setting proper min/max scale denominators may be a solution also.

Usage monitoring

To capture the usage of a service you can extract the usage logs and import them in a tool like Kibana, Splunk or AW stats. Defining rules to extract the requested layer name from a WMS request is useful. Mind that not all requests are GET requests, some WFS requests use POST, which may need some configuration on the webserver to enable POST parameter logging. Make sure the logging includes the ‘Referer’ and ‘User-agent’ parameters, which allows to differentiate types of uses. Finally consider there is a GDPR privacy aspect to collecting access logs. Consider to exclude the IP address of the user and define a maximal retention for access logs.

Cookbook Software Description
AWStats AWStat A utility to report on service usage