1 votes

Serveur web embarqué (mysql) sur une compact flash : comment réduire les opérations de lecture/écriture ?

J'ai développé un petit serveur web pour la domotique à partir d'un ALIX 1D, et basé sur un Lenny Debian. Il fonctionne très bien et est maintenant capable de faire fonctionner un grand nombre d'équipements différents à partir d'une application web.

Mais je ne suis pas sûr de la façon dont je dois gérer la Compact Flash, en ce qui concerne les limitations de lecture/écriture.

D'après ce que j'ai lu, le partitionnement devrait être ext2, ce qui empêcherait la journalisation du système.

Un utilitaire pour 'aplatir' la répartition des cycles d'écriture existe, serait-il pertinent de l'utiliser si la partition est ext2 ?

Je vais également désactiver toute journalisation en mode exécution (un mode débogage fournira les journaux). Y a-t-il d'autres paramètres que je dois prendre en compte pour une fiabilité maximale (par exemple, le système écrit-il de manière aléatoire dans certains fichiers à des fins diverses et potentiellement désactivées) ?

Quant à la base de données mysql, ce ne sont pas des données importantes, et elle est en fait reconstruite à chaque fois que le serveur démarre. Dans ces conditions, existe-t-il un moyen de stocker la base de données en RAM plutôt que dans un fichier ?

Je ne suis pas sûr que ce soit le bon endroit pour demander, mais je vois parfois des redirections vers ici depuis stack overflow.

Merci d'avoir lu. PS : Comment se fait-il qu'il soit impossible d'ajouter les règles de politesse de base en haut du message ?

1voto

Utilisation de la MEMORY moteur de stockage pour une table la gardera en mémoire.

0voto

Antti Rytsölä Points 361

Le moteur de stockage en mémoire est une bonne idée, mais il a certaines limites que MyISAM/InnoDB n'auront pas. Si cela ne convient pas, vous pouvez toujours monter le répertoire de données mysql depuis tmpfs. Tout ce dont vous devez faire attention est d'extraire les tables mysql d'une sauvegarde après avoir monté le tmpfs. Par exemple ( assume mysql data /var/lib/mysql )

  • arrêter mysql
  • si vous n'avez pas déjà fait un tar du répertoire des données mysql, e.g. cd tar -C /var/lib/mysql -czvf /tmp/mysql-data.tar .
  • mount -t tmpfs none /var/lib/mysql
  • déballer les données : tar -C /var/lib/mysql -xvzf /tmp/mysql-data.tar
  • redémarrer mysql

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X