fonctionnement logs

11 réponses
AuteurMessage

Geo 113 |
Modérateur

Photo de Geo 113

Inscrit le : 04/05/2005

# Le 28/02/2007 à 20:01

hoy,
je m'intéresse au fonctionnement des logs,
comment se passe l'insertion des données, pour ne pas qu'il y ai de déperdition d'infos.

ex processus 1 et processus 2 quasi simultanés,
processus 1 ouvre le ficher à l'état X au temps T, et inscrit une ligne supplémentaire ce qui donne l'état X'
processus 2 ouvre le fichier au temps T', mais toujours en l'état X, l'ajout de la ligne à X' est donc perdu.

ca c'est ce que j'imagine, mais je suppose que ca ne se passe comme ca car ca m'étonnerait qu'il y ai une déperdition de ce type.
donc concretement ca se passe comment ?

merci

CosmixOuvrir dans une nouvelle fenetre
Rendez imprévisible l'Economie; Mentez aux sondages

tybozz | Thibaud
Membre

 

Inscrit le : 09/05/2005

# Le 28/02/2007 à 20:02

systeme de verrou

Elevez un dragon !Ouvrir dans une nouvelle fenetre avant qu'il ne fasse le casting pour la star on the net academyOuvrir dans une nouvelle fenetre ou qu'il ne s'empiffre de bonbons à gogoOuvrir dans une nouvelle fenetre

bhamp0 | Benjamin
Membre

Photo de bhamp0

Inscrit le : 09/05/2005

# Le 28/02/2007 à 20:08

En l'occurrence, cela concerne la programmation concurrente (comment gérer les accès lecture/écriture sur un même canal).

Il n'y a pas que des systèmes de verrou pour cela en règle générale. Mais pour les fichiers, en l'occurrence, oui, ce sont bien des verrous (principe des sémaphores pour ceux qui connaissent : on émet un "jeton" qui ne peut être possédé que par une seule entité, et on essaie de prendre ce jeton de manière infinie tant qu'on ne peut pas le prendre).
Il existe d'autres systèmes, plus élaborés, mais pas utilisés

Quand on voit c'qu'on voit, et qu'on entend c'qu'on entend, on a raison d'penser c'qu'on pense !

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 28/02/2007 à 20:11

J'en ai aucune idée, mais je verrais bien (genre pour apache) :
Chaque processus qui doit écrire en log écrit en fait en ram et de temps en temps, un des processus écrit sur le disque... non ?

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 28/02/2007 à 20:21

D'apres ce que j'ai compris, c'est le processus kjournald qui fait l'ecriture de log. Je pense que c'est aussi une histoire de ram ecrite régulierement sur le disque

Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0fOuvrir dans une nouvelle fenetre

Geo 113 | Geoffrey
Modérateur

Photo de Geo 113

Inscrit le : 04/05/2005

# Le 28/02/2007 à 20:48

ok merci pour ces infos,
et si vous deviez le mettre en place via php avec un système de fichiers de logs écrits par php sans qu'il n'y ai d'écrasement, vous le feriez comment, est ce que ce système de verrou est exportable ?

merci

CosmixOuvrir dans une nouvelle fenetre
Rendez imprévisible l'Economie; Mentez aux sondages

Limit | Cyril
Membre

Photo de Limit

Inscrit le : 11/05/2005

# Le 28/02/2007 à 21:00

http://fr3.php.net/manual/fr/ref.sem.phpOuvrir dans une nouvelle fenetre

Forum GratuitOuvrir dans une nouvelle fenetre - Blog gratuitOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 28/02/2007 à 21:04

Pour Apache je pense que chaque processus remonte l'info au processus "père", qui est le seul à écrire sur le disque. Pour ce qui est du tampon en mémoire, seul Apache 2 le fait et c'est une option désactivée par défaut

La plupart du temps on retrouve ce mécanisme : un processus "maitre" qui est le seul à écrire dans le fichier, et d'autre processus qui lui remonte les infos ; soit via sémaphore comme exmpliqué par bhamp0 (je suppose qu'Apache utilise un système du genre), soit en utilsant le socket d'un démon dédié à ça (syslogd, kjournald, etc).

Le système de verrou est plus simple à mettre en place, mais je suppose moins performant.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

Geo 113 | Geoffrey
Modérateur

Photo de Geo 113

Inscrit le : 04/05/2005

# Le 28/02/2007 à 21:04

ha merci

est ce que au niveau ressources ca prend beaucoup ? (l'intéret que je cherche étant de ne pas faire travailler sql)

CosmixOuvrir dans une nouvelle fenetre
Rendez imprévisible l'Economie; Mentez aux sondages

Geo 113 | Geoffrey
Modérateur

Photo de Geo 113

Inscrit le : 04/05/2005

# Le 01/03/2007 à 13:16

en utilisant flock, si un autre script tente d'accèder au même fichier pendant une action en cours, est ce qu'il va échouer ou est ce qu'il va retenter jusqu'à ce que le fichier soit délocker ?
merci

CosmixOuvrir dans une nouvelle fenetre
Rendez imprévisible l'Economie; Mentez aux sondages

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 01/03/2007 à 13:20

Ce que je ferai avec ce que tu dis, c'est que j'installerais eAccelerator. Tes scripts écrivent dans la ram et tu mets une cron qui éxécute un script pour récupérer ce qu'il y a en ram et l'écrire sur le disque.

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

Geo 113 | Geoffrey
Modérateur

Photo de Geo 113

Inscrit le : 04/05/2005

# Le 01/03/2007 à 13:22

ha oui avec la variables mises à dispo par eaccelerator ?
je vais donc voir de ce coté là

CosmixOuvrir dans une nouvelle fenetre
Rendez imprévisible l'Economie; Mentez aux sondages

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 16:08:03 | Généré en 7.27ms | Contacts | Mentions légales |