Thanks for that Jonathan,
We have tried doing that sort of tracking in the past and I worked out in the
past that logging with the GeoTools profile is helpful in finding the SQL
GeoServer is making.
It is not too bad doing that when you know there is a problem it is the not
knowing that gets me. GeoServer tends to log hundreds of lines for simple
errors like a layer missing a default style so our logs tend to be big and
unwieldly. I think the datasource timeout error would be the most useful update.
I’m still hoping to be able to join in the development work at some point but I
don’t have enough experience with JAVA development and childcare has made it
hard to find time to go on any courses. Getting myself good enough to help
still seems the most sensible direction at the moment as UK local authorities
are not really spending on this sort of thing at the moment. My time may be
more of a sensible target but unless I can find a decent course or mentor; I
doubt that will be anytime soon.
Anyway, thanks again for the advice; I will definitely use it as much as I can.
Paul
From: Jonathan Moules [mailto:jonathan-li...@lightpear.com]
Sent: 21 August 2017 14:26
To: Paul Wittle <p.wit...@dorsetcc.gov.uk>
Cc: 'geoserver-users@lists.sourceforge.net'
<geoserver-users@lists.sourceforge.net>
Subject: Re: [Geoserver-users] Production error logging
Hi Paul,
I can see there would be a lot of value in adding a datasource timeout error to
production profile logging. I'm less sure about logging all timings within the
"production" logging profile due to the overhead it would add.
However a new profile for "performance" level logging would be really useful,
and is certainly something I could have used a number of times in the past.
Maybe it's something you can get Dorset CC to sponsor?
On the issue of your immediate problem, the best way to determine how lax your
database is being is to query the database itself. I'd suggest something like:
a) Get a copy of Jmeter and set it up to query your database (i.e.
https://jmeter.apache.org/usermanual/build-db-test-plan.html)
b) Determine what the SQL queries to the database look like for your layers, as
they come from GeoServer (GeoTools debug logging I believe is the one you want
for that).
c) Use the URL's from (b) to form the basis of automated, random queries to the
database (you change the bbox on a per-request basis).
d) Make it also query other datasets by changing the table referenced.
The output of this will be aggregated data indicating how fast (or not) your
database is, and should indicate which datasets need optimisation.
If you do this properly, you'll be able to use the resulting test plan
long-term as either/both a kind of "smoke test" for the performance of your
database, and to ensure that layers are all working.
For bonus points, this should be fairly simple to duplicate and then tweak to
make the same requests of via HTTP to GeoServer in the form of WMS/WFS
requests. Ideally not at the same time for the same queries though (caching).
Cheers,
Jonathan
---- On Tue, 15 Aug 2017 08:46:43 +0100 Paul Wittle via
Geoserver-users<geoserver-users@lists.sourceforge.net<mailto:geoserver-users@lists.sourceforge.net>>
wrote ----
Hi,
I know the GeoServer logging has been mentioned before and that more
development could be done on the logging profiles were funding and resources
available but I was wondering if the existing production log actually contains
any reference to the database delays?
Our ICT departments are busy at work changing over hardware etc. and we are
trying to determine whether or not this is impacting disk read/write speeds and
connections. Our spatial database is provided by an Oracle database and the
cached content is on Windows disk drives so there are a number of factors. I
have mentioned before that I wanted to try and get information about each step
in the rendering process into the production log so that you might have say a
percentage of the time taken for each request logged. This might be in the
audit logging but it would effectively split the request into waiting
(GeoServer queue), data acquisition (read from database or file system), tile
rendering and then perhaps download time (back to the user).
Clearly that may already exist in GeoTools logging and it would probably take a
lot of work if it was completely new development but I was wondering about the
timeout message.
If the rendering times out we currently get:
org.geoserver.platform.ServiceException: This request used more time than
allowed and has been forcefully stopped. Max rendering time is 60.0s
Would it be possible to include the step if failed on at this point?
So it might read:
org.geoserver.platform.ServiceException: This request used more time than
allowed and has been forcefully stopped during data read. Max rendering time is
60.0s
org.geoserver.platform.ServiceException: This request used more time than
allowed and has been forcefully stopped during rendering. Max rendering time is
60.0s
I believe my current issue is because the database is too slow responding but
we have a lot of layers and spatial indices can be broken in a number of ways.
It would be great if we could look through the logs and identify if slow tiles
are failing at the data acquisition phase rather than the GeoServer rendering
phase.
Or perhaps that is already possible?
Please note, I am referring to the production logging profile but we do use
audit logging and perhaps that sort of information should be in the audit logs
instead.
Any thoughts would be great, sorry if it has already been discussed.
Cheers,
Paul
"This e-mail is intended for the named addressee(s) only and may contain
information about individuals or other sensitive information and should be
handled accordingly. Unless you are the named addressee (or authorised to
receive it for the addressee) you may not copy or use it, or disclose it to
anyone else. If you have received this email in error, kindly disregard the
content of the message and notify the sender immediately. Please be aware that
all email may be subject to recording and/or monitoring in accordance with
relevant legislation."
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org!
http://sdm.link/slashdot_______________________________________________
Geoserver-users mailing list
Please make sure you read the following two resources before posting to this
list:
- Earning your support instead of buying it, but Ian Turton:
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines:
http://geoserver.org/comm/userlist-guidelines.html
Geoserver-users@lists.sourceforge.net<mailto:Geoserver-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/geoserver-users
"This e-mail is intended for the named addressee(s) only and may contain
information about individuals or other sensitive information and should be
handled accordingly. Unless you are the named addressee (or authorised to
receive it for the addressee) you may not copy or use it, or disclose it to
anyone else. If you have received this email in error, kindly disregard the
content of the message and notify the sender immediately. Please be aware that
all email may be subject to recording and/or monitoring in accordance with
relevant legislation."
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
Please make sure you read the following two resources before posting to this
list:
- Earning your support instead of buying it, but Ian Turton:
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines:
http://geoserver.org/comm/userlist-guidelines.html
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users