forked from MTSR/mapserver
recommended specs
This commit is contained in:
parent
17b06037e4
commit
44045203f7
76
doc/recommended_specs.md
Normal file
76
doc/recommended_specs.md
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
|
||||||
|
# Recommended specs
|
||||||
|
|
||||||
|
Recommended specs for running the mapserver
|
||||||
|
|
||||||
|
## Storage
|
||||||
|
|
||||||
|
The tiles are cached in several zoom-levels on disk.
|
||||||
|
Storage usage depends heavily on map-size and explored areas
|
||||||
|
but it will be in the region of several gigabytes (5 to 10 GB for "older" servers)
|
||||||
|
|
||||||
|
## Memory
|
||||||
|
|
||||||
|
Memory depedends on the amount of caching (see: [Configuration](./config.md))
|
||||||
|
Per default there will be around 500 mapblocks cached for quicker access.
|
||||||
|
This will be around 5 to 10 megabytes depending on the contents.
|
||||||
|
|
||||||
|
The recommendation is to maximize caching so the queries don't slow down the game-database.
|
||||||
|
If you are willing to spend around 2 GB of memory set the `maxitems` to 5000 mapblocks.
|
||||||
|
Otherwise leave the defaults and see if it has any impact.
|
||||||
|
|
||||||
|
Example config from `mapserver.json`:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mapblockaccessor": {
|
||||||
|
"expiretime": "10s",
|
||||||
|
"purgetime": "15s",
|
||||||
|
"maxitems": 500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## CPU
|
||||||
|
|
||||||
|
The application is more CPU-bound than IO-bound.
|
||||||
|
It will use all the configured CPU's while rendering:
|
||||||
|
|
||||||
|
<img src="../pics/cpu_graph.png"/>
|
||||||
|
|
||||||
|
It is recommended to set the `renderjobs` setting to a number of CPU's
|
||||||
|
you can spare.
|
||||||
|
|
||||||
|
Per default it will set the setting to the number of cores you have,
|
||||||
|
but it will also run on just 1 job and take a bit longer...
|
||||||
|
|
||||||
|
Example config from `mapserver.json`:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"renderingjobs": 2
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Database
|
||||||
|
|
||||||
|
The recommended database is Postgres if you have a busy server.
|
||||||
|
SQLite will work too if the disk-access is good.
|
||||||
|
|
||||||
|
**Personal experience**: Don't worry about it if you have fast SSD's ;)
|
||||||
|
|
||||||
|
## Network
|
||||||
|
|
||||||
|
I don't recommend serving the map behind a slow residential internet connection.
|
||||||
|
An upload-bandwidth from 10 MBPS upwards will do the job pretty ok though:
|
||||||
|
|
||||||
|
<img src="../pics/network_graph.png"/>
|
||||||
|
|
||||||
|
# Recap
|
||||||
|
|
||||||
|
If your setup looks something like this, don't worry about performance:
|
||||||
|
|
||||||
|
* 4+ cores
|
||||||
|
* 8+ GB RAM
|
||||||
|
* 20+ GB SSD
|
||||||
|
* Postgres DB
|
||||||
|
|
BIN
pics/cpu_graph.png
Normal file
BIN
pics/cpu_graph.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
pics/network_graph.png
Normal file
BIN
pics/network_graph.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
@ -19,6 +19,7 @@ Demo: [Pandorabox Server map](https://pandorabox.io/map/#-1782.25/493.5/10)
|
|||||||
* [Parameters](doc/params.md)
|
* [Parameters](doc/params.md)
|
||||||
* [Search](doc/search.md)
|
* [Search](doc/search.md)
|
||||||
* [Configuration](doc/config.md)
|
* [Configuration](doc/config.md)
|
||||||
|
* [Recommended specs](doc/recommended_specs.md)
|
||||||
* [Contribution](doc/contrib.md)
|
* [Contribution](doc/contrib.md)
|
||||||
* [Development](doc/dev.md)
|
* [Development](doc/dev.md)
|
||||||
* [License](doc/license.md)
|
* [License](doc/license.md)
|
||||||
|
Loading…
Reference in New Issue
Block a user