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

Cómo usar las herramientas de Chrome Dev para encontrar los cuellos de botella del rendimiento

marzo 4, 2020

 

Introducción

Cuando se utiliza el framework de desarrollo web Ruby on Rails, su aplicación está configurado por defecto para utilizar SQLite como base de datos. SQLite es una base de datos relacional de peso ligero, portátil y fácil de usar que realiza especialmente bien en entornos con poca memoria, y va a funcionar bien en muchos casos. Sin embargo, para aplicaciones muy complejas que requieren la integridad de datos más fiable y extensibilidad programática, una base de datos PostgreSQL será una opción más robusta y flexible. Con el fin de configurar el Ruby on Rails configuración para usar PostgreSQL, que tendrá que realizar algunos pasos adicionales para su creación y funcionamiento.

En este tutorial, creará un entorno de desarrollo Ruby on Rails conectado a una base de datos PostgreSQL en un servidor de Ubuntu 18.04. Que va a instalar y configurar PostgreSQL, y luego probar su configuración mediante la creación de una aplicación Rails que utiliza PostgreSQL como servidor de base de datos.

Requisitos previos

Este tutorial requiere lo siguiente:

  • Un servidor Ubuntu 18.04 estableció siguiendo el programa de instalación inicial del servidor Guía para Ubuntu 18.04, incluyendo un usuario no root con privilegios sudo y un firewall.
  • Un Ruby on Rails entorno de desarrollo instalado en el servidor de Ubuntu 18.04. Para hacer esto, siga nuestra guía sobre cómo instalar Ruby on Rails con rbenv en Ubuntu 18.04. Este tutorial se utilizará la versión 2.6.3 de Ruby y Rails 5.2.3; para obtener información sobre las últimas versiones, echa un vistazo a los sitios oficiales de Ruby y Rails.

Un servidor Ubuntu 18.04 estableció siguiendo la Guía de configuración inicial del servidor de Ubuntu 18.04, incluyendo un usuario no root con privilegios sudo y un firewall.

Un Ruby on Rails entorno de desarrollo instalado en el servidor de Ubuntu 18.04. Para hacer esto, siga nuestra guía sobre cómo instalar Ruby on Rails con rbenv en Ubuntu 18.04. Este tutorial se utilizará la versión 2.6.3 de Ruby y Rails 5.2.3; para obtener información sobre las últimas versiones, echa un vistazo a los sitios oficiales de Ruby y Rails.

Paso 1 – Instalación de PostgreSQL

el fin de configurar Ruby on Rails para crear su aplicación web con una base de datos PostgreSQL como, primero instalar la base de datos en el servidor.

El uso de privilegios sudo, actualizar el índice de APT para asegurarse de que sus depósitos están al día: actualización apta

sudo apt update

  • sudo

A continuación, instalar PostgreSQL y sus bibliotecas de desarrollo:

sudo apt install postgresql postgresql-contrib libpq-dev

  • sudo apt instalar PostgreSQL -contrib libpq-dev

En el comando anterior, el paquete PostgreSQL contiene el programa principal de PostgreSQL, mientras postgresql-contrib añade varias características de PostgreSQL que se extiendan sus capacidades. libpq-dev es una biblioteca de PostgreSQL que permite a los clientes enviar consultas y recibir respuestas desde el servidor de servicios de fondo, lo que permitirá su aplicación para comunicarse con su base de datos.

vez se hayan instalado PostgreSQL y sus dependencias, el siguiente paso es crear un papel que su aplicación Rails utilizará posteriormente para crear su base de datos.

Paso 2 – Creación de una nueva función de base de

En PostgreSQL, papeles se puede utilizar en la misma forma que los usuarios de Linux para organizar los permisos y autorización. Este paso le mostrará cómo crear un nuevo rol de superusuario de su nombre de usuario de Linux que le permitirá operar dentro del sistema PostgreSQL para crear bases de datos y configurar.

Para crear un rol de superusuario de PostgreSQL, utilice el siguiente comando, sustituyendo la palabra resaltada con su nombre de usuario de Ubuntu 18.04:

sudo -u postgres createuser -s sammy -P

  • sudo -u postgres createuser -s Sammy -P

Desde que ha especificado la bandera -P, se le pedirá que introduzca una contraseña para su nuevo papel. Introduzca su contraseña deseada, asegurándose de grabarlo para que pueda utilizarlo en un archivo de configuración en un paso posterior.

En este comando, se utiliza para crear createuser un papel llamado Sammy. Los -s dio esta privilegios de superusuario usuario, y sudo -u permitió que le permite ejecutar el comando desde los postgres cuenta que se crea automáticamente al instalar PostgreSQL.

Nota: Desde el modo de autenticación para PostgreSQL en Ubuntu 18.04 comienza como ident, por defecto un usuario de Ubuntu sólo puede operar en PostgreSQL con un papel del mismo nombre. Para obtener más información, echa un vistazo a la documentación oficial de PostgreSQL en la autenticación.

Si no ha utilizado la bandera -P y desea establecer una contraseña para el papel después de crearlo, entrar en la consola de PostgreSQL con el comando siguiente:

sudo -u postgres psql

  • sudo -u postgres psql

recibirá el siguiente salida, junto con el símbolo para la consola PostgreSQL: consola

Outputpsql (10.9 (Ubuntu 10.9-0ubuntu0.18.04.1))
Type "help" for help.

postgres=#

el PostgreSQL está indicado por las postgres = # de solicitudes. En el indicador de PostgreSQL, introduzca este comando para establecer la contraseña de la nueva función de base, reemplazando el nombre resaltado con la que creó:

password sammy

  • contraseña Sammy

PostgreSQL le pedirá una contraseña. Introduzca su contraseña deseada en el indicador, y luego confirmarlo.

Ahora, salir de la consola de PostgreSQL mediante la introducción de este comando:

q

  • q

su habitual voluntad pronta ahora vuelven a aparecer.

En este paso, se creó un nuevo papel PostgreSQL con privilegios de superusuario. Ahora ya está listo para crear una nueva aplicación Rails que utiliza esta función para crear una base de datos.

Paso 3 – Creación de una nueva aplicación Rails

Con un papel configurado para PostgreSQL, ahora se puede crear una aplicación de nuevos carriles que está configurado para usar PostgreSQL como base de datos.

primer lugar, vaya a su directorio:

cd ~

  • cd ~

Crear una nueva aplicación Rails en este directorio, nombreaplic reemplazar con cualquier cosa que le gustaría llamar su aplicación:

rails new appname -d=postgresql

  • rieles nueva nombreaplic -d = PostgreSQL

los -d = conjuntos de opciones de PostgreSQL como base de datos.

Una vez que haya ejecutado este comando, una nueva carpeta llamada nombreaplic aparecerá en su directorio personal, que contiene todos los elementos de una aplicación Rails básica.

A continuación, se mueven en el directorio de la aplicación:

cd appname

  • cd nombreaplic

Ahora que ha creado una aplicación de nuevos carriles y que ha pasado en el directorio raíz de su proyecto, puede configurar y crear su base de datos PostgreSQL desde dentro de su carriles aplicación.

Paso 4 – Configuración y creación de su base de datos

Al crear las bases de datos de desarrollo y pruebas para su aplicación, rieles utilizarán el papel de PostgreSQL que ha creado para su nombre de usuario de Ubuntu. Para asegurarse de que los carriles crea estas bases de datos, se le altera el archivo de configuración de la base de su proyecto. A continuación, crear sus bases de datos.

Uno de los cambios de configuración a realizar en su aplicación Rails es añadir la contraseña de la función de PostgreSQL que ha creado en el último paso. Para mantener la información sensible como contraseñas seguras, es una buena idea para almacenar esto en una variable de entorno en lugar de escribirlo directamente en el archivo de configuración.

Para almacenar la contraseña en una variable de entorno al iniciar la sesión, ejecute el siguiente comando, reemplazando NOMBREAPLIC con el nombre de su aplicación y PostgreSQL_Role_Password con la contraseña que ha creado en el último paso:

echo 'export APPNAME_DATABASE_PASSWORD="PostgreSQL_Role_Password"' >> ~/.bashrc
exportación

  • echo’ APPNAME_DATABASE_PASSWORD = ‘PostgreSQL_Role_Password’ ‘ >> ~ / .bashrc

Este comando escribe el comando de exportación a su archivo ~ / .bashrc para que se establecerá la variable de entorno al iniciar la sesión.

Para exportar la variable para la sesión actual, utilice el comando Fuente: Fuente

source ~/.bashrc

  • ~ / .bashrc

Ahora que ha almacenado la contraseña en su entorno, es el momento de modificar el fichero de configuración. archivo de configuración de la base de datos

abierto de la aplicación en su editor de texto preferido. En este tutorial se usará nano:

nano config/database.yml

  • nano config / database.yml

En la sección predeterminada, busque la línea que dice la piscina: <% = ENV.fetch ( "") RAILS_MAX_THREADS {5}%> y agregue la siguiendo líneas resaltadas, rellenando sus credenciales y la variable de entorno que ha creado. Debe ser algo como esto:

...
default: &default
adapter: postgresql
encoding: unicode
# For details on connection pooling, see Rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: sammy
password: <%= ENV['APPNAME_DATABASE_PASSWORD'] %>

development:
<<: *default database: appname_development ...

Esto hará que la aplicación Rails ejecutar la base de datos con el papel y la contraseña correctos. Guardar y salir pulsando CTRL + x, Y, a continuación, ENTER.

Para obtener más información sobre la configuración de las bases de datos en rieles, consulte la documentación de Rails.

Ahora que ha realizado cambios en config / database.yml, crear bases de datos de su aplicación mediante el uso de los carriles de comando:

rails db:create

  • carriles db: crear

Una vez Rails crea la base de datos, recibirá el siguiente resultado:

OutputCreated database 'appname_development'
Created database 'appname_test'

Como sugiere la salida, este comando crea una base de datos de desarrollo y de prueba en su servidor PostgreSQL.

Ahora tiene una base de datos PostgreSQL conectado a su aplicación Rails. Para asegurarse de que su aplicación está funcionando, el siguiente paso es probar la configuración.

Paso 5 - Prueba de la configuración Pruebe

Para que su aplicación es capaz de utilizar la base de datos PostgreSQL, trate de ejecutar la aplicación web para que se mostrará en un navegador.

Usando el comando de servidor rieles, ejecutar la aplicación web en el servidor web integrado en su aplicación Rails, Puma:

rails server --binding=127.0.0.1

  • raíles del servidor --binding = 127.0.0.1

--binding une su aplicación a un determinado IP. Por defecto, esta bandera se unirá a los carriles 0.0.0.0, pero ya que esto significa que los carriles escuchará a todas las interfaces, es más seguro utilizar 127.0.0.1 para especificar el host local. Por defecto, las escuchas de aplicación en el puerto 3000.

Una vez que su aplicación Rails se está ejecutando, el símbolo del sistema va a desaparecer, sustituido por esta salida: Prueba

Output=> Booting Puma
=> Rails 5.2.3 application starting in development
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.12.1 (ruby 2.6.3-p62), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://127.0.0.1:3000
Use Ctrl-C to stop

Para si su aplicación se está ejecutando, abrir un nuevo ventana de terminal en su servidor y utilizar el comando curl para enviar una petición a 127.0.0.1:3000:

curl http://127.0.0.1:3000

  • rizo http://127.0.0.1:3000

Usted recibirá una gran cantidad de salida en HTML, que termina en algo como:

Output...
Rails version: 5.2.3
Ruby version: 2.6.3 (x86_64-linux)



Si su aplicación Rails está en un servidor remoto y desea acceder a él a través de un navegador web, una forma fácil es para obligar a éste a la dirección IP pública del servidor. En primer lugar, abrir el puerto 3000 en el servidor de seguridad:

sudo ufw allow 3000

A continuación, busque la dirección IP pública del servidor. Usted puede hacer esto mediante la ejecución del siguiente comando curl:

curl http://icanhazip.com

Esto devolverá su dirección IP pública. Utilizar con el comando del servidor rieles, sustituyendo server_public_IP con IP pública del servidor:

rails server --binding=server_public_IP

Ahora usted será capaz de acceder a su aplicación Rails en un navegador web local a través de IP pública del servidor dirección en el puerto 3000 visitando:

http://server_public_IP:3000

en esta URL, se encuentra un rubí en los carriles página de bienvenida:

esto significa que su aplicación está configurada y conectada a la base de datos PostgreSQL correctamente.

Después de probar la configuración, si quisiera cerrar el puerto 3000, utilice el comando siguiente.

sudo ufw delete allow 3000

Conclusión

En este tutorial, que ha creado una aplicación web Ruby on Rails que fue configurado para usar PostgreSQL como base de datos en un servidor de Ubuntu 18.04. Si desea obtener más información sobre el lenguaje de programación Ruby, visita nuestra serie Cómo Código Para en Ruby.

Para obtener más información sobre cómo elegir una base de datos para su aplicación, visita nuestra tutorial sobre las diferencias entre los casos de uso y de SQLite, PostgreSQL y MySQL. Si desea obtener más información sobre cómo utilizar las bases de datos, consulte nuestra Introducción a las consultas en el artículo PostgreSQL, o explorar productos de bases de datos gestionadas digitalocean.