Site is under maintenance mode. Please wait few min!
Saltar al contenido

Cómo construir una página de aterrizaje con estilo con Tailwind CSS

marzo 4, 2020

 

Introducción

Uno de la forma más fácil de aumentar la capacidad de respuesta de su servidor y la protección contra errores de memoria insuficiente en sus aplicaciones es añadir un poco de espacio de intercambio. Intercambiar es un área en un disco duro que ha sido designado como un lugar donde el sistema operativo puede almacenar temporalmente los datos que puede contener ya no está en la memoria RAM.

Básicamente, esto le da la capacidad de aumentar la cantidad de información que el servidor puede guardar en su “memoria” de trabajo, con algunas advertencias. El espacio en el disco duro se utiliza principalmente cuando el espacio en la memoria RAM ya no es suficiente para los datos.

La información escrita en el disco será más lenta que la información guardado en la memoria RAM, pero el sistema operativo preferirá seguir funcionando datos de la aplicación en la memoria y el uso de intercambio de los datos más antiguos. En general, tener espacio de intercambio como una copia de caída para cuando se agote la memoria RAM del sistema es una red de seguridad bueno.

En esta guía, vamos a cubrir cómo crear y habilitar un archivo de intercambio en un servidor de Ubuntu 14.04.

A pesar de intercambio se recomienda generalmente para los sistemas que utilizan discos duros de spinning tradicional, utilizando intercambio con los SSD pueden causar problemas con la degradación de hardware con el tiempo. Debido a esta consideración, no recomendamos que permite intercambio en digitalocean o cualquier otro proveedor que utiliza almacenamiento SSD. Si lo hace, puede afectar a la fiabilidad del hardware subyacente para usted y sus vecinos.

Si necesita mejorar el rendimiento de su servidor, le recomendamos actualizar su droplet. Esto dará lugar a mejores resultados en general y disminuirá la probabilidad de contribuir a problemas de hardware que pueden afectar a su servicio.

comprobar el sistema de intercambio de información

Antes de empezar, vamos a echar un vistazo a nuestro sistema operativo para ver si ya tenemos un poco de espacio de intercambio disponible. Podemos tener múltiples archivos de intercambio o particiones de intercambio, pero por lo general uno debería ser suficiente.

podemos ver si el sistema tiene cualquier intercambio configurado escribiendo:

sudo swapon -s
Filename Type Size Used Priority

Si sólo volver la cabecera de la mesa, como he mostrado anteriormente, que actualmente no tiene habilitado ningún espacio de intercambio.

Otra forma más familiar de la comprobación de espacio de intercambio es con la herramienta gratuita, que nos muestra el uso de memoria del sistema. Podemos ver nuestro uso de la memoria y de intercambio actual en Megabytes escribiendo:

free -m
total used free shared buffers cached
Mem: 3953 154 3799 0 8 83
-/+ buffers/cache: 62 3890
Swap: 0 0 0

Como se puede ver arriba, nuestro espacio de intercambio total en el sistema es “0”. Esto coincide con lo que hemos visto con el comando anterior.

Compruebe el espacio disponible en la partición de disco duro

La forma típica de asignar espacio de intercambio es utilizar una partición independiente dedicado a la tarea. Sin embargo, la alteración del esquema de partición no siempre es posible. Sólo podemos crear fácilmente un archivo de intercambio que resida en una partición existente.

Antes de hacer esto, debe ser consciente de nuestro uso actual del disco. Podemos obtener esta información escribiendo:

df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda 59G 1.3G 55G 3% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 2.0G 12K 2.0G 1% /dev
tmpfs 396M 312K 396M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user

Como se puede ver en la primera línea, nuestra partición del disco duro de 55 gigabytes disponibles, por lo que tenemos una enorme cantidad de espacio para trabajar. Esto está en un fresco, ejemplo VPS de tamaño medio, sin embargo, por lo que su uso real podría ser muy diferente.

Aunque hay muchas opiniones sobre el tamaño apropiado de un espacio de intercambio, que realmente depende de sus preferencias personales y sus requisitos de aplicación. Generalmente, una cantidad igual a o el doble de la cantidad de RAM en su sistema es un buen punto de partida.

Desde mi sistema cuenta con 4 GB de RAM, y la duplicación de que tomaría una parte significativa de mi espacio de disco que no estoy dispuesto a desprenderse, voy a crear un espacio de intercambio de 4 gigabytes para que coincida con la RAM de mi sistema.

Crear un archivo de intercambio

Ahora que sabemos que nuestro espacio de disco duro disponible, podemos ir sobre la creación de un archivo de intercambio dentro de nuestro sistema de ficheros.

vamos a crear un archivo llamado archivo de intercambio en nuestro directorio raíz (/). El archivo debe asignar la cantidad de espacio que queremos para nuestro archivo de intercambio. Hay dos formas principales de hacerlo:

El tradicionales, Lento Camino

Tradicionalmente, se podría crear un archivo con el espacio preasignado con el comando dd. Esta utilidad de disco versátil escribe desde una ubicación a otra ubicación.

Podemos usar esto para escribir ceros en el archivo desde un dispositivo especial en los sistemas Linux situados en / dev / zero que simplemente escupe tantos ceros como se solicita.

Nos especificar el tamaño del archivo mediante el uso de una combinación de ancho para el tamaño del bloque y la cuenta sobre el número de bloques. Lo que asignamos a cada parámetro es casi totalmente arbitraria. Lo que importa es lo que el producto de multiplicar ellos resulta ser.

Por ejemplo, en nuestro ejemplo, estamos buscando para crear un archivo de 4 gigabytes. Podemos hacer esto mediante la especificación de un tamaño de bloque de 1 gigabyte y una cuenta de 4:

sudo dd if=/dev/zero of=/swapfile bs=1G count=4
4+0 records in
4+0 records out
4294967296 bytes (4.3 GB) copied, 18.6227 s, 231 MB/s

Compruebe su comando antes de pulsar ENTER, porque esto tiene el potencial de destruir los datos si apunta el de (acrónimo de archivo de salida) a la lugar incorrecto.

Podemos ver que 4 gigabytes se han asignado escribiendo:

ls -lh /swapfile
-rw-r--r-- 1 root root 4.0G Apr 28 17:15 /swapfile

Si ha completado el comando anterior, es posible que observe que tomó bastante tiempo. De hecho, se puede ver en la salida que se llevó a mi sistema de 18 segundos para crear el archivo. Eso es porque tiene que escribir 4 Gigabytes de ceros en el disco.

Si usted quiere aprender a crear el archivo más rápido, eliminar el archivo y seguir a lo largo de abajo:

sudo rm /swapfile

La manera más rápida

La manera más rápida de conseguir el mismo archivo es mediante el uso del programa fallocate. Este comando crea un archivo de un tamaño preasignado al instante, sin tener que escribir contenidos ficticios.

Nos puede crear un archivo de 4 gigabytes escribiendo:

sudo fallocate -l 4G /swapfile

El mensaje será devuelto a usted casi de inmediato. Podemos comprobar que la cantidad correcta de espacio estaba reservado escribiendo:

ls -lh /swapfile
-rw-r--r-- 1 root root 4.0G Apr 28 17:19 /swapfile

Como se puede ver, nuestro archivo se crea con la cantidad correcta de espacio conjunto a un lado.

Habilitación del archivo de intercambio

En este momento, se creó nuestro archivo, pero nuestro sistema no sabe que esto se supone que se utilizará como intercambio. Tenemos que decirle a nuestro sistema para dar formato a este archivo como swap y luego activarlo.

Antes de hacerlo, sin embargo, tenemos que ajustar los permisos en nuestro archivo para que no pueda ser leída por alguien además de raíz. Permitiendo que otros usuarios puedan leer o escribir en este archivo sería un gran riesgo para la seguridad. Podemos bloquear los permisos escribiendo:

sudo chmod 600 /swapfile

Compruebe que el archivo tiene los permisos correctos escribiendo:

ls -lh /swapfile
-rw------- 1 root root 4.0G Apr 28 17:19 /swapfile

Como se puede ver, sólo las columnas para el usuario root tienen habilitadas las banderas de lectura y escritura.

Ahora que nuestro archivo es más seguro, podemos decir nuestro sistema para configurar el espacio de intercambio escribiendo:

sudo mkswap /swapfile
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=e2f1e9cf-c0a9-4ed4-b8ab-714b8a7d6944

Nuestro archivo está listo para ser utilizado como un espacio de intercambio. Podemos activar esta escribiendo:

sudo swapon /swapfile

podemos verificar que el procedimiento se ha realizado correctamente comprobando si nuestros informes del sistema de espacio de intercambio ahora:

sudo swapon -s
Filename Type Size Used Priority
/swapfile file 4194300 0 -1

Tenemos un nuevo archivo de intercambio aquí. Podemos utilizar la utilidad libre de nuevo para corroborar nuestros resultados:

free -m
total used free shared buffers cached
Mem: 3953 101 3851 0 5 30
-/+ buffers/cache: 66 3887
Swap: 4095 0 4095

Nuestro intercambio se ha establecido con éxito y nuestro sistema operativo a empezar a utilizarlo cuando sea necesario.

hacer que el archivo de intercambio permanente

tenemos nuestro archivo de intercambio activada, pero cuando reinicio, el servidor no permitirá automáticamente el archivo. Podemos cambiar que aunque modificando el archivo fstab.

Editar el archivo con privilegios de root en el editor de texto:

sudo nano /etc/fstab

En la parte inferior del archivo, es necesario agregar una línea que va a indicar al sistema operativo para utilizar automáticamente el archivo que ha creado:

/swapfile none swap sw 0 0

guardar y cerrar el presentar cuando haya terminado.

ajustar su configuración de intercambio

Hay algunas opciones que puede configurar que tendrá un impacto en el rendimiento del sistema cuando se trata de intercambio.

Los swappiness configura los parámetros de la frecuencia con que sus datos permutas sistema de memoria RAM para el espacio de intercambio. Este es un valor entre 0 y 100 que representa un porcentaje.

Con valores cercanos a cero, el núcleo no intercambiar datos en el disco a menos que sea absolutamente necesario. Recuerde, las interacciones con el archivo de intercambio son “caros” en que se toman mucho más tiempo que las interacciones con RAM y pueden causar una reducción significativa en el rendimiento. Diciendo que el sistema no se basan en el canje mucho generalmente hará que su sistema más rápido. Valores

que están más cerca de 100 tratarán de poner más datos en canje en un esfuerzo por mantener más espacio de memoria RAM libre. Dependiendo de perfil de memoria de sus aplicaciones o lo que usted está utilizando su servidor para, esto podría ser mejor en algunos casos.

podemos ver el valor actual swappiness escribiendo:

cat /proc/sys/vm/swappiness
60

para un escritorio, un entorno swappiness de 60 no es un mal precio. Para un sistema VPS, probablemente nos queremos mover más cerca de 0.

Podemos establecer el swappiness a un valor diferente utilizando el comando sysctl.

Por ejemplo, para establecer el swappiness a 10, podríamos escribir:

sudo sysctl vm.swappiness=10
vm.swappiness = 10

Esta configuración se mantendrá hasta el siguiente reinicio. Podemos definir este valor automáticamente al reiniciar mediante la adición de la línea en nuestro archivo /etc/sysctl.conf:

sudo nano /etc/sysctl.conf

En la parte inferior, se puede añadir:

vm.swappiness=10

Guardar y cerrar el archivo cuando haya terminado.

Otro valor relacionado que es posible que desee modificar es la vfs_cache_pressure. Esto configura la cantidad del sistema optarán por inode y dentry caché información sobre otros datos.

Básicamente, se trata de acceder a los datos sobre el sistema de ficheros. Esto es generalmente muy costoso para mirar hacia arriba y solicitado con mucha frecuencia, por lo que es una cosa excelente para su sistema de caché. Se puede ver el valor actual mediante la consulta del nuevo sistema de ficheros proc:

cat /proc/sys/vm/vfs_cache_pressure
100

como está configurado actualmente, nuestro sistema elimina la información de i-nodo de la caché demasiado rápido. Podemos establecer esto en un ambiente más conservador como 50 escribiendo:

sudo sysctl vm.vfs_cache_pressure=50
vm.vfs_cache_pressure = 50

Una vez más, esto sólo es válida para la sesión actual. Podemos cambiar eso mediante la adición a nuestro fichero de configuración como lo hicimos con nuestro entorno swappiness:

sudo nano /etc/sysctl.conf

En la parte inferior, agregue la línea que especifica el nuevo valor:

vm.vfs_cache_pressure = 50

Guardar y cerrar el archivo cuando haya terminado.

Conclusión

Siguiendo los pasos de esta guía le dará un respiro en cuanto a su uso de memoria RAM. El espacio de intercambio es increíblemente útil para evitar algunos problemas comunes.

Si está ejecutando en OOM (sin memoria) errores, o si encuentra que su sistema es incapaz de utilizar las aplicaciones que necesita, la mejor solución es optimizar sus configuraciones de aplicaciones o actualizar el servidor. Configuración de espacio de intercambio, sin embargo, le puede dar más flexibilidad y puede ayudar a comprar que el tiempo en el servidor menos potente.