dimanche, mai 20 2018

Le gâchis énergétique des cryptomonnaies : 11 centrales nucléaires

On parle beaucoup trop de cryptomonnaies à mon gout ces temps ci.

Le principe c'est que des milliers d'ordinateurs fassent simultanément le même calcul jusqu'à ce que l'un d'entre eux soit le plus rapide à trouver le résultat. Celà va donner un nouveau bloc dans la blockchain. Ce calcul en sois ne sert à rien, c'est juste une preuve de travail.

L'ordinateur qui trouve est rémunéré par une comissions sur les transactions, et la création de nouvelles monnaies.

Le fonctionnement de cette monnaie virtuelle pousse donc à acheter du matériel dédié à ce genre de calcul, et à en avoir plus que les autres : plus on a de puissance, plus on aura de chance de créer la monnaie virtuelle.

Les monnaies virtuelles s'adaptent, en actualisant la difficulté du calcul à effectuer en fonction de la vitesse à laquelle les précédents blocs ont été trouvés, pour que la monnaie se créé à la vitesse initallement prévue, quelle que soit la quantité d'ordinateurs effectuant ce calcul.

Si on calcul à partir de cette difficulté des principales cryptomonnaies là puissance électrique nécessaire, on arrive début mai 2018 à un total de 11 centrales nucléaires !

Et comme de plus en plus de monde se met à faire ce calcul débile, ou chacun essaye de calculer plus vite que les autres, ce chiffre ne fait qu'augmenter de plus en plus vite.

mardi, janvier 10 2017

PostgreSQL : tuning avec postgresqltuner.pl

postgresqltuner.pl est un petit script fonctionnant sur le même principe que mysqltuner.pl :

Il se connecte à la base PostgreSQL (local par defaut, mais peut se connecter à une base distante), et y effectue une série de tests pour identifier les bon et mauvais paramètres de configuration, et préconiser des améliorations.

Lorsque la base est en local, ou que la connection est possible en SSH via authentification par clef privée, il peut aller un peu plus loin concernant le tuning de l'OS / de la RAM utilisée par PostgreSQL par rapport à la RAM totale disponible.

Plus d'infos : https://github.com/jfcoz/postgresqltuner

MySQL : Identifier les transactions lentes ou causant un crash

Certains comportements de MySQL/MariaDB/Galera/Percona sont parfois difficiles à investiguer.

C'est le cas notamment de :

  • un crash provoqué par une certaine requête
  • des requêtes bloquées par des transactions en cours (une transaction pouvant locker des lignes/index, sans qu'aucune requête ne sois visible ni dans le full processlist, ni dans le engine innodb status pendant le blocage).

mysql_analyse_general_log permet de diagnostiquer plus facilement ce type de problème, en analysant le log general de MySQL (toute les requêtes), pour en extraire toutes les transactions, et les requêtes de chaque transaction.

Celà permet notamment de filtrer :

  • les transactions qui étaient en cours à l'heure d'un crash
  • les transactions ayant duré plus de N secondes

Et donc de diagnostiquer facilement ces deux types de problèmes.

lundi, mai 16 2016

virtual_alias_maps Postfix pour comptes mail wildcard

Petite astuce pour configurer son postfix pour mieux éviter les spams, et surtout pouvoir les bloquer.

Il s'agit de mettre en place des adresses wildcard (dans mon cas julien-*@francoz.net) afin de donner/s'inscrire avec une adresse unique sur chaque site.

Dans mon cas il s'agit de Postfix avec des comptes virtuels stockés dans une base PostgreSQL.

Dans le /etc/postfix/main.cf :

virtual_alias_maps = pgsql:/etc/postfix/virtual_alias.cf

Dans pgsql:/etc/postfix/virtual_alias.cf :

hosts = ...
user = ...
dbname = ...
password = ...
# ajout des alias en username-*@domain (adresse unique par site pour limiter spam)
query = SELECT username||'@'||domain as forw_addr FROM mailbox WHERE username = split_part('%u','-',1) and domain='%d'

un petit reload de postfix, quelques tests, et c'est fini. (activer log_statement=all dans PostgreSQL si nécessaire en cas de souci)

Et voilà, une adresse dédiée à chaque site, plus qu'à les mettre à jour sur ces sites, et filtrer celles sur lesquelles on reçoit du spam.

dimanche, février 6 2011

FOSDEM 2011

Petit week-end en Belgique à Bruxelles pour le FOSDEM : Free and Open-Source Software Developpers European Meeting.

Pas mal de conférences intéressantes, pas mal de conférences inintéressantes aussi, et pas mal dans lesquelles je me suis bien marré !

Dans les conférences intéressantes :

  • Perl
    • Moose : un framework permettant de faciliter de développement orienté objet
    • Dancer : un framework web très light, présenté avec beaucoup d'humour et de trolls. La vidéo sera peut-être en ligne dans quelques jours.

Le blog d'un des développeurs de Dancer détaille un peu tout ça

  • PostgreSQL
    • PgPool 2 v3.0 : les nouveautées de pgpool, le load balancing de requêtes, le failover automatique. Très bonne présentation et focntionnalités impressionnantes.

Dans les conférences plus drôles :

  • MySQL
    • Les nouveautés de la réplication avec MySQL 5.5 : Au final presque rien, et pas d'avancement sur certains problèmes actuels.
    • MySQL multimaster avec Tungsten : Un gars présente le produit de sa boite, la version open source ne fais pas grand chose, et ce qu'il explique ne peut pas marcher comme il le dit.
    • Multimaster MySQL failover : un gars explique une théorie sur la bascule sur le slave le plus à jour, puis la reconfiguration des anciens slave en slave du nouveau master à partir d'une position qu'il pense avoir calculé. A la première question il a été bloqué, il disait ne pas comprendre la question, je pense qu'il a bloqué parceque sa théorie ne tenais pas debout.

J'ai laissé tombé la troisième conf sur la réplication multimaster, vu les premières ça aurait surement été aussi très drôle.

La partie bière du week-end à été plus problématique : on c'est retrouvé un peu tard au centre commerical, on a du prendre nos bières dans un petit centre commercial le lendemain matin, avec beaucoup moins de choix, il restait donc un peu de place :

coffre fosdem