Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Utilizar todos los cores del procesador firebird 3.0 (https://www.clubdelphi.com/foros/showthread.php?t=94312)

jo3litro 22-11-2019 18:58:07

Utilizar todos los cores del procesador firebird 3.0
 
Buenas a todos,

He montado un servidor con Centos 7, que tiene 2 procesadores con 12 núcleos cada uno. 24 en total e instalado firebird 3.0.

Tengo consultas pesadas que al momento de ejecutarlas me utiliza solo 1 de los cores al 100%, mientras que los demás no los utiliza, es decir, no distribuye la ejecución en los demás cores.

Me he pasado leyendo mucho respecto a esto, pero sin resultados positivos.

captura :https://ibb.co/Q6C9Ntb

La versión en Windows si se puede configurar para que pueda utilizar X cores (CpuAffinityMask= XX).

La versión instalada es firebird 3.0 superserver.

Alguien tuvo algún caso parecido o sabe como distribuir la carga en los demas procesadores ?.

Saludos

Casimiro Notevi 22-11-2019 19:46:06

Instala la classic.

mamcx 22-11-2019 20:07:09

Una nota: Usar "todos los cores" no significa que sea mas rápido. A menos que un algoritmos sea https://en.wikipedia.org/wiki/Embarrassingly_parallel aumentar el numero de "comunicaciones" trae un costo.

En el esquema moderno de los computadores, nada mas rapido que un scan de datos secuenciales en bloques que coincidan con el cache de la cpu.

Casimiro Notevi 22-11-2019 21:32:08

Además de lo comentado por mamcx, si lanzas una consulta, se ejecuta en una cpu, si lanzas otra, y está ocupada, lo hace en otra cpu, etc.
Pero no reparte una consulta entre distintas cpus, que yo sepa.

jo3litro 11-12-2019 18:52:04

Gracias por los comentarios,


Con respecto a la versión Classic, el caché no es compartido, por lo tanto, los datos consultados no esta disponible para otras conexiones.

Según las especificaciones de firebird, la versión SuperServer para Linux ya soporta el uso de múltiples procesadores por defecto, pero no pasa de 99 % de uso de un solo core, y si lo distribuye, la suma de uso de los core no supera el 99%

La versión para Windows también soporta el uso de multiples cores. Debe modificarse el firebird.conf CpuAffinityMask.

Cuando lanzas consultas o ejecutas procedures, la versión para Windows distribuye las consultas para todos los cores disponibles. (comprobado en un cliente que tiene Windows Server).

Seguiré buscando a ver si me topo con la solución.

Saludos.


La franja horaria es GMT +2. Ahora son las 08:49:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi