Spécifications de serveur recommandées pour GeoServer

16

nous servons nos données géographiques via notre application phare Dorset Explorer . Cela utilise OpenLayers et GeoServer pour servir nos données géographiques, y compris OSM et OS Basemaps et une masse d'autres données telles que la photographie aérienne, les écoles, etc.

Ma question est de savoir quel type de spécifications de serveur devrions-nous utiliser pour GeoServer. Nous n'aurons à notre disposition qu'un seul serveur pour la livraison de tuiles via WMS (et peut-être qu'à l'avenir, nous utiliserons peut-être aussi du WFS). Nous recevons entre 100 et 200 utilisateurs par jour, mais cela devrait, espérons-le, commencer à augmenter dès que nous serons convaincus que les serveurs tiendront le coup! Est-ce juste une question de bâton dans les spécifications les plus élevées que nous pouvons nous permettre ou y a-t-il des limites ou des maximums théoriques.

Tous les pointeurs seraient très appréciés!

Rob Quincey
la source
1
Y a-t-il un budget pour cela ou alors vous avez besoin de spécifications générales recommandées?
Mapperz
Juste quelques spécifications générales recommandées, quelle que soit la personne qui pense que la meilleure configuration pour GeoServer pour fonctionner dans ce type d'environnement serait. Par exemple, cela vaudrait-il la peine de dépenser le maximum que nous pouvons pour lui donner des spécifications très élevées ou serait-ce un gaspillage d'argent si GeoServer ne peut pas l'utiliser.
Rob Quincey

Réponses:

12

100 à 200 utilisateurs par jour ne sont (normalement) rien, un ordinateur portable peut supporter ce type de charge si la carte n'est pas complexe.

Conditions générales d'Utilisation:

  • obtenir suffisamment de mémoire (au moins 8 Go) mais ne pas tout donner à GeoServer
  • utiliser des processeurs Intel, pas des AMD, car les extensions natives JAI fonctionnent plus rapidement sur Intel
  • essayez d'obtenir deux serveurs et de les configurer en cluster pour une haute disponibilité (2 quad core devraient suffire), si la charge augmente, il vous suffit d'ajouter plus de serveurs
  • assurez-vous que vos données sont correctement configurées pour les performances: http://demo.geo-solutions.it/share/foss4g2011/gs_steroids_sgiannec_foss4g2011.pdf
  • si vous avez suffisamment d'espace disque, envisagez la mise en cache des tuiles pour les couches qui ne changent pas souvent
  • effectuez des tests de charge pour voir jusqu'où vous pouvez aller avec du matériel de test et faites évoluer les serveurs en fonction de la charge attendue.
Andrea Aime
la source
Lorsque vous dites «Ne donnez pas toute la mémoire à GeoServer», pouvez-vous expliquer pourquoi? Je m'excuse pour ma légère `` noblesse '' dans ce domaine, je ne suis pas la personne qui gère vraiment GeoServer, bien que j'y sois fortement impliqué, je reçois juste des questions et des conseils ici! Oh et FYI, notre cartographie est assez complexe, plus de 700 couches et de plus en plus, un mélange de raster, de vecteur simple et complexe, de translucidité, de polices personnalisées, vous l'appelez, nous devons le servir: P
Rob Quincey
1
Parce que GeoServer ne l'utilisera pas, tandis que le cache du système de fichiers peut l'utiliser pour accélérer les données raster et les fichiers de formes du service. Avec autant de couches, cela peut en effet devenir un problème, en même temps, personne sensé ne mettrait autant de couches sur la même carte ... assurez-vous simplement que le client ne permet pas aux utilisateurs de configurer des cartes trop complexes. Et faites des tests de charge avec des cas d'utilisation typiques
Andrea Aime
«personne sain d'esprit ne mettrait autant de [couches] sur la même carte». Vous ne connaissez pas nos utilisateurs ... :)
Rob Quincey
c'est un lourd PDF que vous avez lié ici @AndreaAime, vous ne pouvez pas en faire la tête ou la queue, principalement en raison de noob-ness
Daniël Tulp
6

Choisir le bon serveur est toujours une chose difficile à faire, car en peu de temps, votre service peut devenir très populaire, rendant votre matériel de mille dollars inutile.

- Étant donné que chaque application (même si elles utilisent la même pile logicielle) a sa propre demande, mon conseil est d'exécuter des tests de stress sur un serveur cloud, comme amazon AWS. Les coûts d'exécution de ces tests sont insignifiants.

-Il est possible d'établir une relation entre le matériel AWS (par exemple) et le matériel de base afin que vous puissiez essayer différentes configurations pour différents nombres d'utilisateurs et demandes pour avoir une idée de la façon dont le matériel et le logiciel fonctionneront à l'avenir, exemples: ici et ici .

-Si c'est une option pour vous, IMO s'en tenir au serveur cloud, vous pouvez le faire évoluer de haut en bas quand vous le souhaitez.

Pablo
la source
1
Le cloud n'est malheureusement pas une option, mais une bonne réponse avec quelques points intéressants. Je ne vais pas l'accepter pour voir si quelqu'un d'autre ajoute quelque chose :)
Rob Quincey