Vous n'êtes pas identifié(e).

#1 Re : Général » incident saturation disk » 31/12/2020 16:21:11

il faut agrandir le FS concerné et/ou déplacer les fichiers wal dans un autre FS (instance arrêtée) en créant un lien symbolique du repertoire wal vers ce nouveau FS.

#2 Re : Général » incident saturation disk » 31/12/2020 15:50:28

Bonjour,

Quels sont les fichiers qui remplissent ce disque ?
Pouvez-vous ajouter de l'espace dans le FS ?
L'instance est-elle en mode archivage des wal ? Et si oui, où sont stockés les journaux archivés ?

#3 Re : Général » sécurité postgresql » 30/12/2020 16:42:07

pouvez-vous donner les traces PostgreSQL au moment de la relance du service jusqu'à maintenant ?
Et y a t'il des infos dans le journal des evenements windows ?

#4 Re : Général » sécurité postgresql » 29/12/2020 17:49:26

votre instance est arrêtée.
Il faut la relancer et comme c'est windows, normalement il suffit de lancer le service windows correspondant (dans le gestionnaire de service)

#5 Re : Général » sécurité postgresql » 29/12/2020 15:04:31

il faut chercher un repertoire qui s'appelle pg_log.
Quel est votre version de postgresql et ça tourne sous quel OS ?

#6 Re : Général » sécurité postgresql » 29/12/2020 12:44:01

alors s'il n'y a pas de traces dans postgresql c'est que la demande de connexion n'arrive pas jusqu'au serveur postgresql.
Essayez de voir s'il n'y a pas un problème de firewall et assurez vous que l'instance est bien démarrée.

#7 Re : Général » sécurité postgresql » 29/12/2020 11:46:41

bonjour,

Le mieux serait de regarder et de poster les messages d'erreur en provenance des traces postgresql.

#8 Re : Général » [RESOLU] pgbackrest archive push trop lent » 14/12/2020 08:50:41

Bonjour,

Effectivement le paramètre archive-async=y permet de paralléliser l'archivage des WAL via pgbackrest.

Avec cett config par exemple, ça marche très bien (mettre un spool-path sur le FS des WAL, c'est conseillé pour les performances dixit la doc et calibrer process-max en fonction du nb de CPU du serveur) :


[global]
epo1-path=/mon_path_backup/
log-level-console=info
start-fast=y
process-max=6
archive-async=y
spool-path=/mon_path_wal/spool
[IPHDRX1]
pg1-path=/mon_path_admin/
repo1-retention-full-type=time
repo1-retention-full=7
repo1-retention-archive-type=full



Merci Marc pour les conseils !

#9 Re : Général » [RESOLU] pgbackrest archive push trop lent » 04/12/2020 22:44:25

oh mais "archive-async=y" ça m'a l'air très prometteur !!
je vais étudier ça !

#10 Re : Général » [RESOLU] pgbackrest archive push trop lent » 04/12/2020 20:24:06

bonjour Marc,

Une chose est sûr ce n'est pas le réseau (c'est à ça qu'on a pensé en premier en tant que facteur de contention, mais non).
pour le nombre de processus, vous parlez de process-max de pgbackrest.conf ? ça entre en jeu dans l'archivage ?
Pourtant dans les traces postgresql en peut voir qu'un seul processus (P00) est utilisé dans l'archivage.

#11 Général » [RESOLU] pgbackrest archive push trop lent » 04/12/2020 19:39:04

ruizsebastien
Réponses : 5

Bonjour,

Sur une instance de production j'ai remarqué que l'archivage (via pgbackrest) était trop lent en cas de forte activité.
Cela provoque un remplissage du répertoire des WAL (donc en attente d'archivage).
Y a t'il des pistes à étudier pour accélérer l'archivage ?

conf pgbackrest :
[global]
repo1-path=/mon_path_backup/
log-level-console=info
start-fast=y
process-max=6
[IPDHCX1]
pg1-path=/mon_path_admin/
repo1-retention-full-type=time
repo1-retention-full=28
repo1-retention-archive-type=full


quelques conf postgresql.conf :
             name             |  setting
------------------------------+-----------
archive_command            | /usr/bin/pgbackrest --stanza=IPDHCX1 archive-push %p
archive_mode               | on
archive_timeout            | 3600
default_text_search_config | pg_catalog.french
gin_fuzzy_search_limit     | 0
max_standby_archive_delay  | 30000
max_wal_senders              | 2
max_wal_size                 | 20480
min_wal_size                 | 100
wal_block_size               | 8192
wal_buffers                  | 1024
wal_compression              | off
wal_consistency_checking     |
wal_keep_segments            | 0
wal_level                    | replica
wal_log_hints                | off
wal_receiver_status_interval | 10
wal_receiver_timeout         | 60000
wal_retrieve_retry_interval  | 5000
wal_segment_size             | 16777216
wal_sender_timeout           | 60000
wal_sync_method              | fdatasync
wal_writer_delay             | 200
wal_writer_flush_after       | 128
check_function_bodies        | on
checkpoint_completion_target | 0.5
checkpoint_flush_after       | 32
checkpoint_timeout           | 300
checkpoint_warning           | 30
data_checksums               | off
ignore_checksum_failure      | off
log_checkpoints              | on
wal_consistency_checking     |


Postgresql v11.10
pgbackrest v2.27

pas de traces dans les traces PostgreSQL de checkpoint trop fréquents.

Merci à tous par avance.

#12 Re : Général » pgbcakrest et archivage des WAL » 02/12/2020 18:52:53

Merci à tous pour vos réponses c'est plus clair maintenant.

#13 Re : Général » pgbcakrest et archivage des WAL » 02/12/2020 16:41:22

le processus d'archivage n'est-il pas mis en pause entre pg_start_backup et pg_stop_backup (sauvegarde non exclusive) ?
car dans la doc ça peut prêter un peu à confusion :
" Par défaut, pg_stop_backup attendra jusqu'à ce que tous les WAL aient été archivés, ce qui peut prendre un certain temps. Cette option doit être utilisée avec précaution : si l'archivage des WAL n'est pas supervisé correctement, alors la sauvegarde pourrait ne pas inclure tous les fichiers WAL et serait donc incomplète et impossible à restaurer. "

Si pg_stop_backup doit attendre cela ne veut-il pas dire qu'il y a beaucoup de WAL à archiver du au fait d'une hypothétique pause dans le process d'archivage ?

#14 Général » pgbcakrest et archivage des WAL » 02/12/2020 13:37:48

ruizsebastien
Réponses : 4

Bonjour,

Est-ce qu'une sauvegarde pgbackrest fige l'archivage des fichiers WAL pendant la durée de la sauvegarde ?
En d'autres termes j'ai remarqué que le repertoire des WAL augmentait énormément pendant les sauvegardes pgbackrest.
Est-ce normal ?

#15 Re : Général » pg_create_restore_point » 25/11/2020 10:42:17

gleu a écrit :

Au sujet de pgbackrest, ça pourrait être une fonctionnalité de ce dernier. Il indique bien ce qui est possible de restaurer, il pourrait aussi préciser les restore points des WAL archivés.

excellente idée ! y a t'il un endroit où on peut faire cette demande d'ajout de cette fonctionnalité dans une prochaine version de pgbackrest ?

#16 Re : Général » pg_create_restore_point » 24/11/2020 15:44:26

et du coup avec pgbackrest, qui sait à tout moment tout ce qu'il a dans son repository, pas de problème.
Il faut que fasse des tests.

#17 Re : Général » pg_create_restore_point » 24/11/2020 15:32:17

gleu a écrit :

Les WAL archivés sont le principal (seul ?) intérêt des restore points. Je ne vois pas quel autre cas t'intéresserait ?

Par contre, je préfère les restore point à une date/heure. Je peux placer le restore point quand je veux et donc être bien plus précis qu'une date/heure.

bon là j'avoue que, comme je suis un peu fatigué, tu m'as perdu au passage ;-)
Pour nous l'intérêt des restore point et de bien identifier fonctionnellement une étape dans la vie de la base de données.
Par exemple "avant batch x" ou "avant traitement y".
C'est plus facile que de devoir chercher précisément une date et une heure de restauration (et moins hasardeux).
Mais si comme tu disais plus haut, que postgresql ne peut plus retrouver un restore point s'il est dans un wal archivé et plus dans le répertoire wal, alors je suis marron.
Et dans ce cas là je ne peux plus restaurer mon instance via un restore point de 24 ou 26 heures par exemple.
Ou alors je n'ai rien compris à ce que tu disais précédemment.

#18 Re : Général » pg_create_restore_point » 24/11/2020 12:32:21

ah tiens je ne savais pas qu'on ne pouvait pas utiliser un restore point si celui ci est dans un WAL archivé... ça change tout effectivement.
En fait dans mon entreprise on est très friand des restore points "fonctionnels" à la sauce Oracle. Perso je préfère la technique PITR avec une date et une heure précise. Mais bon. il faut que je creuse ce point. ce n'est pas anodin.
Merci en tout cas c'est toujours intéressant d'avoir des avis éclairés.

#19 Re : Général » pg_create_restore_point » 24/11/2020 11:59:42

Bonjour,

Merci Guillaume pour cette info.
C'est bien ce que je craignais.
Quel dommage qu'il n'y ai pas de vue dans le catalogue pour recenser les restore points.
C'est même étonnant que personne n'ai jamais penser à l'implémenter, ce serait pourtant simple par rapport à tout le développement complexe déjà en œuvre.

#20 Général » pg_create_restore_point » 23/11/2020 17:20:15

ruizsebastien
Réponses : 11

bonjour,

après avoir créer plusieurs points de restauration avec select pg_create_restore_point('xxx');
comment avoir la liste de tous les restore points créés ?
(PostgreSQL v11)

#21 Re : Général » How to solve problem of CPU usage 100% in Linux server and Postgres da » 05/11/2020 18:20:06

pour pallier à l'urgence il faudrait augmenter la RAM de manière conséquente.
Les paramètres PostgreSQL semblent correctes.
Si vous augmentez la RAM il faudra augmenter aussi effective_cache_size.
Il faudra aussi faire des explain plans sur les requêtes complexes de vos fonctions pour voir les axes d'améliorations (index, jointures, logique SQL, etc...).
faire un tour du côté des statistiques aussi pour voir si elles sont à jour.
Et peut être du côté des rebuild index, vacuum/vacuum full des tables s'il y a beaucoup de mises à jour.
Bienvenu dans le monde complexe du tuning de base de données...

#22 Re : Général » How to solve problem of CPU usage 100% in Linux server and Postgres da » 05/11/2020 17:39:20

180 connexions simultanées ? Si oui on peut atteindre les 14G juste pour les sessions actives, sans compter tout le reste qui tourne sur le serveur (y compris les autres process postgresql).
le mieux serait de faire un état des lieux système au moment où le problème de CPU intervient pour voir quel process surconsomme, pour voir l'état de la RAM/SWAP.
Si le CPU est surconsommé par des sessions PostgreSQL, peut être faudrait-il voir du côté des requêtes qui passe à ce moment là. Peut être certaines sont mal écrites et/ou ont de mauvais explain plans.

#23 Re : Général » How to solve problem of CPU usage 100% in Linux server and Postgres da » 05/11/2020 17:20:07

oh et au passage j'ajouterai que c'est une bonne idée d'avoir un pooler de connexion au  niveau du serveur d'application/web.

#24 Re : Général » How to solve problem of CPU usage 100% in Linux server and Postgres da » 05/11/2020 17:18:40

je pense qu'il y a 2 problèmes potentiel ici :
Pas assez de RAM sur le serveur car avec 1000 connections simultannées potentielles multipliées par 82MB par session on peut atteindre 80G de mémoire utilisée donc avec le risque de saturer le serveur (swap notamment).
Ensuite quand la swap est saturée il existe un process linux "kswapd" qui tente de faire du ménage en utilisant beaucoup de CPU.
Donc c'est normal qu'en rebootant le serveur tout redevienne normal (au moins au début...)
tout ceci n'est qu'une piste parmi d'autres.

#25 Re : Général » How to solve problem of CPU usage 100% in Linux server and Postgres da » 05/11/2020 15:28:15

what are the values for those parameters :
(in your postgresql.conf or (better) in pg_settings)

shared_buffers
wal_buffers
work_mem
maintenance_work_mem
max_connections

(and : it's a french forum ;-) so please try to use french)

Pied de page des forums

Propulsé par FluxBB