1 votes

Hôte de base de données PostgreSQL hautement aléatoire

Nous travaillons avec PostgreSQL avec beaucoup de succès sur un projet de taille moyenne (environ 12 Go de données dans notre ensemble de travail).

Actuellement, nous sommes sur une machine à 2 Go de RAM avec des disques de 7200RPM. Vous pouvez imaginer que les performances se dégradent rapidement, même avec des tables en cluster et des index appropriés, des requêtes et une conception optimisées, etc. Nous passons la plupart de notre temps à attendre les E/S, tant pour les opérations de lecture que d'écriture.

Nous avons ajouté 2 Go de RAM dans la boîte et un disque Velociraptor 10kRPM, mais ce ne sont que des mesures palliatives pendant que nous réfléchissons à la suite à donner. L'ensemble est mis à jour très souvent, donc les SSD sont hors de question (trop chers aussi - ce projet est géré par deux étudiants sans argent !), et je suis un peu intéressé d'entendre si quelqu'un d'autre a des suggestions pour des solutions de serveur/VPS bon marché (<£100/mo) qui impliqueraient 12-16GB de RAM et/ou des disques durs rapides. Ou, encore mieux, une solution alternative au problème. Existe-t-il des hébergeurs spécialisés dans l'hébergement de bases de données ?

Il s'agit en quelque sorte d'un post du type "oh mon Dieu, il doit y avoir une meilleure solution", mais l'essentiel est de savoir s'il existe des hôtes ou des solutions disponibles à ce prix, sinon pourquoi pas, et quelles sont les solutions bon marché à ce genre de problème.

0voto

xzilla Points 347

Cela vaut probablement la peine de vérifier que vous avez réglé le serveur de manière appropriée pour le matériel que vous utilisez. Les paramètres à prendre en compte sont les suivants : shared_buffers, effective_cache_size, vos checkpoint_settings, wal_buffer size, et je m'assurerais également que votre work_mem n'est pas trop élevé. Il y a une page wiki que j'ai aidé à écrire qui couvre la plupart de ces choses, c'est un bon endroit pour commencer : http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server

La question suivante pourrait être d'examiner les requêtes que vous exécutez pour vous assurer que les plans de requête ne causent pas plus d'entrées/sorties que nécessaire. De meilleures requêtes et des index améliorés pourraient vous aider.

Oh, une autre idée ; vous n'avez pas expliqué quels étaient les disques sous-jacents (et/ou ce que vous prévoyez de faire avec les nouveaux disques), mais cela pourrait valoir la peine de mettre en place un type de système raid, ou de répartir vos fichiers xlog sur un ensemble séparé de disques.

Personnellement, je ne connais pas d'hébergement de base de données pour Postgres à ce niveau de prix qui inclurait une enquête plus approfondie sur ce qui se passe avec votre base de données ; la plupart d'entre eux vous laisseraient faire.

0voto

L'hébergement est une évidence - à vérifier hetzner . Je les utilise, mes amis les utilisent, et nous sommes vraiment satisfaits de l'offre.

D'un autre côté, pour vous donner une idée, 12 Go n'est certainement pas un ensemble de données "modérément grand". J'aurais même du mal à le classer comme moyen.

Ce n'est pas pour vous dénigrer - il y a beaucoup de bases de données très importantes qui sont de petite taille. Et beaucoup de grandes bases de données qui ne sont pas cruciales. Tout dépend de l'importance des données et/ou des opérations sur les données.

Pour ce qui est de l'optimisation, vérifiez ce qu'a dit xzilla, et lisez la commande/sortie EXPLAIN ANALYZE. C'est la partie la plus utile de PostgreSQL.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X