• Constat:

- Liferea devient lent avec plusieurs centaines de flux.
(Je vous rassure, je ne peux pas tous les lire, donc c'est stupide d'en avoir autant)
- Je ne suis pas satisfait de mes tests de Tiny Tiny RSS .
- Je ne suis pas satisfait de mes tests de rssLounge .
- Je n'ai pas (encore) cédé aux sirènes du SSD.

  • Le plan:

- Mettre le répertoire Liferea en RAM au lieu de le laisser sur le disque SATA, pour accélérer son utilisation.
- Syncroniser (très) régulièrement ce répertoire avec une copie sur le disque, pour conserver les modifications en cas de reboot.

  • Les étapes

- Regarder combien on a de RAM non utilisé

Exemple:

$ free -m
total used free shared buffers cached
Mem: 2010 1181 828 0 114 481
-/+ buffers/cache: 585 1424
Swap: 2044 0 2044

1181 Mo dans notre exemple

- Regarder la taille que prend Liferea

Exemple:

$ du -hs .liferea_1.6
100M .liferea_1.6

- Faire une petit backup en passant... ca ne fait jamais de mal.

$ cp -r .liferea_1.6 .liferea_1.6.BAK

- Créer un espace tmpfs en modifiant le fstab et en ajustant avec les valeurs de RAM disponibles, et l'espace dont liferea a besoin.

my-tmpfs /home/yannick/.tmpfs tmpfs size=200M,user,uid=1000,gid=1000 0 0

- Créer le point de montage

$ mkdir /home/yannick/.tmpfs

- Monter le point de montage

$ sudo mount -a

- Vérifier le point de montage

$ mount | grep "\.tmpfs"
my-tmpfs on /home/yannick/.tmpfs type tmpfs (rw,noexec,nosuid,nodev,size=200M,uid=1000,gid=1000)

- Vérifier qu'on peut écrire

$ touch /home/yannick/.tmpfs/toto
$ rm /home/yannick/.tmpfs/toto

- Créer le script

$ mkdir /home/yannick/bin
$ cd /home/yannick/bin/
$ wget http://scripts.uggy.org/tmpfs_rsync.sh
$ chmod +x tmpfs_rsync.sh

- Créer le répertoire sur le disque et un fichier de test

$ mkdir /home/yannick/.tmpfs_backup/
$ touch /home/yannick/.tmpfs_backup/aaa

- Executer le script tmpfs_rsync.sh et vérifier que le répertoire sur le disque s'est bien synchronisé en RAM

$ /home/yannick/bin/tmpfs_rsync.sh
$ ls -la /home/yannick/.tmpfs
total 4
drwxrwxrwt 2 yannick yannick 80 2032-12-19 16:25 .
drwxr-xr-x 61 yannick yannick 4096 2032-12-19 15:48 ..
-rw-rr 1 yannick yannick 0 2032-12-19 16:25 aaa
-rw-rr 1 yannick yannick 0 2032-12-19 16:25 .unpacked

Si aaa apparait, c'est que la réponse est oui.

- Mettre le script en cron

* * * * * /home/yannick/bin/tmpfs_rsync.sh

- Déplacement du répertoire liferea en RAM (et donc avec la cron également dans le répertoire de backup.

$ mv .liferea_1.6 ~/.tmpfs/liferea
$ ln -s ~/.tmpfs/liferea .liferea_1.6

- Lançer liferea pour tester la vitesse

Çà doit dépoter un truc de déglingos (par rapport à avant) !

- Vérifier qu'on retrouve nos changements:

Changer des trucs puis fermer
Démonter le tmpfs ou rebooter
Relançer liferea.. les changements doivent être toujours présents.

La même technique peut être utilisée pour accélérer d'autres applications...

  • Sources diverses:

Wiki ArchLinux
justanotherdave.ca Pas de lien valide vers l'article
Verot.net
Forum Gentoo