[Geocoding] Nominatim Server Requirements Post-import
Alexander Riggs
alex at outsideanalytics.com
Tue Nov 23 00:06:43 UTC 2021
Hey all,
First background.
I have a Nominatim Kubernetes installation where one Pod contains the php-fpm server container and the nginx container, and a StatefulSet which contains the Postgres+PostGIS database. I have successfully imported the entire planet and things are working as expected. I am defining resource requirements for a deployment environment I am not the admin of and the current requirements are raising some eyebrows. As currently configured the database and the API are requesting 16 CPUs and 64 GB of RAM each. These values were derived from the Nominatim installation documentation section on hardware<https://nominatim.org/release-docs/latest/admin/Installation/#hardware>. Most references to hardware requirements seem to be defined for a deployment where the API and database share resources on a single server. I am not running updates once the import is complete due to certain non-negotiable restrictions. The deployed version is v3.7.2. I am getting relatively performant responses, though the load (requests per second) on the server is quite light at the moment.
On to my questions.
1. What are the resource requirements for a standalone database during import? What about after import? Note I am using the recommended tuning parameters from the docs.
2. What are the resource requirements for a php-fpm server with the API (search.php, reverse.php, etc.) after the import is complete?
3. When a request is made to an endpoint is the processing done on the API side or the database side?
For the sake of reference my research into this has led to me a couple of places:
* https://github.com/osm-search/Nominatim/issues/1290 - Indicates an even larger server is required but again is unclear if this server is running both the database and API or if that changes anything
* https://github.com/robjuz/helm-charts/tree/master/charts/nominatim - Leaves resource requirements up to the user
* https://nominatim.org/release-docs/latest/admin/Import/#choosing-the-data-to-import & https://nominatim.org/release-docs/latest/admin/Installation/#hardware- Mention server requirements but is unclear if this server is running both the database and API
* https://nominatim.org/release-docs/latest/admin/Advanced-Installations/#using-an-external-postgresql-database - Does not mention requirements for the external database
I realize including explicit requirements in the documentation is tricky since it is largely dependent on the dataset imported and that I am using an alternate deployment not wholly documented/supported.
I appreciate any insight you all can provide and am happy to answer any questions if anything I outlined was unclear or requires additional info.
Cheers,
Alexander
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/geocoding/attachments/20211123/7ca12b59/attachment.htm>
More information about the Geocoding
mailing list