Ai-je raison de désactiver le swap pour le serveur de production?
Non. Ayez toujours un espace de swap.
J'ai essayé d'exécuter un serveur de production sans échange une fois et environ une semaine plus tard, après une mise à jour de Wordpress, PHP a commencé à manger beaucoup plus de RAM que nous n'en avions prévu. Lorsque vous manquez de RAM et que le swap est activé, les choses ralentissent (parfois beaucoup, parfois juste un peu, selon ce qui y est poussé), mais vous pouvez vous connecter, trouver le problème et essayer de le résoudre il.
Lorsque vous manquez de RAM et n'avez aucun échange, les processus meurent, les choses s'arrêtent et la plupart du temps, votre seule option est un redémarrage. Mais jusqu'à ce que vous fassiez ce redémarrage, les choses vont probablement se casser.
Dans mon monde, brisé est bien pire que lent.
Bien sûr , si vous trouvez que votre système utilise constamment de grandes portions de swap (il très souvent utiliser certains comme un moyen de sortir des vieux trucs mises en cache), vous avez évidemment un problème ( « RAM d'insertion s'il vous plaît »), mais ayant comme un filet de sécurité est définitivement recommandé.
En réponse au commentaire de SpamapS:
Dans le monde des "sites Web à succès", vous disposez de basculements à chaud, d'équilibrage de charge et d'autres outils qui permettent à une machine d'exploser et n'ont aucun effet sur le reste du site. Mais cela prend beaucoup d'argent. Avoir du matériel redondant n'est pas économique pour la plupart des sites, même s'ils tirent de l'argent.
Je suis totalement en désaccord avec votre commentaire sur la disponibilité. Dans une configuration de commerce électronique traditionnelle, si les gens ne peuvent pas voir votre site, ils ne peuvent pas acheter chez vous. Ce n'est pas seulement du commerce électronique, tous les intérêts commerciaux en ligne prennent beaucoup plus de retard si vous êtes en panne pour toute sorte de période. Je le sais car j'héberge des sites et des services pour les entreprises et gère mes propres sites. Lent = grincheux mais Down = fureur. Même si vous ne descendez qu'une minute à la fois, si un utilisateur voit un avis de "panne pour maintenance" plus de deux fois, il suppose que vous ne pouvez pas garder le site en place.
Un serveur lent n'est pas idéal mais le swap n'est pas là pour être exécuté tout le temps, c'est un dernier recours pour permettre aux choses de continuer à fonctionner pendant que vous les corrigez.
Vous supposez également qu'il n'y a qu'un seul service en cours d'exécution sur la machine. Encore une fois, cela pourrait être vrai si vous avez des mégabucks pour tout fractionner, mais dans le monde réel, les choses sont regroupées. Plusieurs sites Web, démons ssh, serveurs ftp, serveurs de messagerie, etc. Un processus qui s'infiltre dans le swap peut même ne pas affecter un autre service. Sans échange, tout a une chance égale de résiliation instantanée et aléatoire. Vous n'avez aucun contrôle dessus.
Bien sûr, l'échange n'est pas la seule réponse. Vous avez besoin d'une surveillance pour vous alerter lorsque vous êtes à court de RAM, mais le simple fait de débrancher la prise et de redémarrer n'est pas la solution pour la majorité des gens. Je suis sûr que cela fonctionne pour le site Web multinational dont vous êtes responsable, mais pour nous, les simples mortels (qui constituent la majorité d'Internet), le faire est un suicide commercial.