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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr