¿Tengo razón, puedo desactivar el intercambio para el servidor de producción?
No. Siempre tenga algo de espacio de intercambio.
Intenté ejecutar un servidor de producción sin intercambio una vez y aproximadamente una semana después, después de una actualización de Wordpress, PHP comenzó a comer mucha más RAM de la que habíamos contado. Cuando te quedas sin RAM y tienes habilitado el intercambio, las cosas se ralentizan (a veces mucho, a veces solo un poco, dependiendo de lo que se introduce allí), pero puedes iniciar sesión, encontrar el problema e intentar solucionarlo eso.
Cuando te quedas sin RAM y no tienes intercambio, los procesos mueren, las cosas se estancan y muchas veces tu única opción es reiniciar. Pero hasta que reinicie, las cosas probablemente se romperán.
En mi mundo, roto es mucho peor que lento.
Por supuesto, si encuentra que su sistema usa constantemente grandes porciones de intercambio (a menudo usará algunas solo como una forma de mover cosas viejas en caché), obviamente tiene un problema ("insertar RAM por favor"), pero tenerlo como definitivamente se recomienda una red de seguridad.
En respuesta al comentario de SpamapS:
En el mundo de los "sitios web exitosos", tiene failovers en caliente, equilibrio de carga y otras herramientas que permiten que una máquina explote y no tenga ningún efecto en el resto del sitio. Pero eso requiere mucho efectivo. Tener hardware redundante no es económico para la mayoría de los sitios, incluso si obtienen dinero.
Estoy completamente en desacuerdo con tu comentario sobre el tiempo de actividad. En una configuración tradicional de comercio electrónico, si las personas no pueden ver su sitio, no pueden comprarle a usted. Esto no es solo comercio electrónico, todos los intereses comerciales en línea toman mucho más críticas si estás caído por algún tipo de período. Lo sé porque alojo sitios y servicios para empresas y administro mis propios sitios. Lento = gruñón pero Abajo = furia. Incluso si solo baja un minuto a la vez, si un usuario ve un aviso de "baja por mantenimiento" más de un par de veces, asume que no puede mantener el sitio en funcionamiento.
Un servidor lento es menos que ideal, pero el intercambio no está ahí para ejecutarse todo el tiempo, es un último recurso para permitir que las cosas sigan funcionando mientras las arregla.
También asume que solo hay un servicio ejecutándose en la máquina. De nuevo, esto podría ser cierto si tienes megabucks para dividir todo, pero en el mundo real, las cosas se agrupan. Múltiples sitios web, ssh daemons, servidores ftp, servidores de correo electrónico, etc. Un proceso que se filtre en el intercambio podría ni siquiera afectar a otro servicio. Sin intercambio, todo tiene la misma probabilidad de terminación instantánea y aleatoria. No tienes control sobre eso.
Por supuesto, el intercambio no es la única respuesta. Necesita monitoreo para alertarlo cuando no tenga ram, pero simplemente desconectar y reiniciar no es la respuesta para la mayoría de las personas. Estoy seguro de que esto funciona para cualquier sitio web multinacional del que sea responsable, pero para nosotros, simples mortales (que constituyen la mayoría de Internet), hacerlo es un suicidio comercial.