Submitted by admin on
En FreeSWITCH muchos datos, entre ellos registros, llamadas y canales, se guardan, por defecto, en una base de datos SQLite; el nombre de este archivo es core.db y, dependiendo de su instalación, normalmente se encuentra en la carpeta:
ls -l /var/lib/freeswitch/db/
junto a otras base de datos utilizadas por FreeSWITCH. Pero, ¿Porque es tan importante especialmente esta base de datos? Porque se actualiza cada segundo y, dependiendo del tamaño de la instalación, pueden haber centenares de lecturas/escrituras y esto puede volverse el cuello de botella para el desempeño de FS.
Estas son las tablas presentes en la base de datos:
sqlite3 /var/lib/freeswitch/db/core.db
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
sqlite> .quit
Como pueden ver son tablas que en un sistema en producción, se actualizan constantemente. Para mejorar el desempeño de FreeSWITCH, en su configuración hay un parámetro que se puede modificar para que esa base de datos se guarde en la memoria RAM del servidor Linux. El cambio se realiza en el siguiente archivo:
nano /etc/freeswitch/autoload_configs/switch.conf.xml
modificando esta linea (que aparece comentada):
<!-- <param name="core-db-name" value="/dev/shm/core.db"/> -->
para que quede:
<param name="core-db-name" value="/dev/shm/core.db"/>
Se guardan los cambios y se reinicia FreeSWITCH:
systemctl restart freeswitch
Después de unos segundos, veremos efectivamente la base de datos en /dev/shm:
ls -l /dev/shm/
IMPORTANTE: cada vez que se reinicie el sistema, se perderán todos los datos guardados
Recent comments