On 31/03/2010 22:48, Steven Le Roux wrote:
> là où je m'interroge c'est sur les performances d'un postgis par
> exemple. Quelle est sa limite ?
>
> Imaginons que je doive concevoir un service faisant de la recherche
> géographique... jusqu'où monte postgis ? idem en indexation...
>
> Donc si qq'un a déjà benché, je suis prenneur :)

Une requête de reverse geocoding sur le serveur du boulot prend environ
50ms. Dans la table des routes, il y a 28M de lignes. Les autres tables
comme les POI sont beaucoup plus petites.
La relative lenteur de la requête s'explique par l'utilisation autre que
des polygones. Quand tu utilises des polygones partout, tu descend très
vite. Avec la configuration serveur que l'on a au bureau, on a estime
être capable de prendre environ 800 requêtes seconde.
Postgis tient bien la route et après il y a toujours moyen d'optimiser
avec des index partiels selon ce que tu recherches et des partitions de
table (très très efficace).
De plus, manipuler des polygones est très performant (a condition qu'ils
fassent une taille raisonnable) du fait de la mise en mémoire des
géométries. C'est vraiment une question de configuration de Postgres sur
pas mal de points pour avoir de bonnes performances. Des choses comme un
index clustering peut sérieusement aider les performances en IO.
Postgis 1.5 a pas mal d'optimisations supplémentaires sur des choses
comme ST_intersects, ST_Union (1.4+) etc...  Apres c'est sur tu peux
tuer le serveur avec certaines requêtes :)

Emilie Laffray

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr

Répondre à