Le 01/03/2016 13:35, Gildas Cotomale a écrit :
Le 1 mars 2016 à 12:12, nicod_ a écrit :
Le 01/03/2016 10:13, Cédric Morin a écrit :

Erreur grave que de faire un INSERT en base sur chaque 404. La meilleure
façon de mettre ton serveur par terre en moins de deux.

Faux, ça dépend de l'architecture : dans certains cas, une écriture BDD est
plus performante qu'une écriture disque directe.

La base de donnée est une abstraction (un client qui envoi une
requête, SQL dans notre cas, au serveur qui traite et lui renvoie la
réponse) pour gérer de grandes quantités de données (les logs aussi
sont de gros volumes) en accès concurrentiels (normalement il n'y a
pas des dizaines de processus qui consultent le même fichier de
journalisation) et constituant un agrégat dont il faut garantir une
certaine cohérence (i.e. ACIDité) Mais au final, la base de données va
manipuler des fichiers... (sauf si on fait tenir en mémoire par
exemple)

Je pensais aux infrastructures distribuées, avec des serveurs http qui génèrent déjà beaucoup d'IO locales, et des serveurs Mysql beaucoup moins chargés. C'est pas exotique, je connais au moins un (très bon) hébergeur grand public, qui utilise cette architecture en mutualisé (un serveur par service). Il était même venu en discuter sur les listes pour apporter ce point de vue, et suggérait par exemple de donner la possibilité de gérer tous les logs de spip directement dans mysql pour optimiser les perfs.

--
nicod_
----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Répondre à