Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #23  
Antiguo 11-11-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, amigo jachguate, es cierto que windows usa la memoria virtual (fichero en el disco duro) para "ampliar" aunque tenga mucha RAM instalada, incluso le sobre, pero eso es un problema de windows, como has dicho.
En linux, no es así, linux usa toda la memoria ram disponible y sólo cuando ya no le queda más remedio, entonces usará la memoria virtual, por lo que siempre está sacando el máximo rendimiento a la ram instalada, y cuanto más tenga, mejor.
En los apartados de memoria y cpus, no estoy nada de acuerdo contigo, mejor dicho, o te has confundido o no te he entendido, pero aquí dices:

Cita:
Empezado por jachguate Ver Mensaje
  • Procesador. Puede que tengas 16 nucleos, pero que la base de datos solo pueda sacar provecho de uno (especialmente cierto con firebird).
  • RAM. En el servidor de base de datos, es bueno tener mucha RAM, y es mejor sacarle provecho. He visto casos donde el dueño del negocio se ve obligado a comprar un servidor con 8, 16 o más GB de RAM, pero cuando revisas Firebird está tirando solamente de un par de ellos. (especialmente cierto con Firebird).
Eso que mencionas puede ocurrir con windows, con la versión superserver, y si además no has configurado cpuaffinitymsak en firebird.conf
Pero no es así en linux con las versiones classicserver ni superclassic, firebird hace uso de todas las cpus instaladas, perfectamente, transparente al usuario, y además lo hace muy bien, aprovechando cada cpu, según su nivel de utilización, si está muy ocupada entonces lanza la consulta por otra cpu.
Lo tengo más que probado en mis clientes, observando con 'top' los procesos del servidor según van trabajando los usuarios, y cómo firebird va haciendo peticiones a cpus más ociosas para repartir el trabajo entre todas las cpus.
Además no sólo lo digo yo, lo dice la propia documentación de firebird:

Cita:
Why doesn't Classic have CPUAffinity setting in firebird.conf?
Because CPUAffinity only applies to SuperServer. Classic can work on multiple CPUs without problems, while SuperServer needs that option to aviod context switching between processors with degrades performance dramatically.
Cita:
Multiprocessor/multicore

ClassicServer // SuperClassic
SMP (symmetrical multi-processing) is supported out of the box. The CpuAffinityMask parameter in firebird.conf is ignored.
Unlike Superserver, Classic and SuperClassic can also assign multiple connections to the same database to different processors.

SuperServer

Windows SuperServer defaults to using the first logical processor only, because prior to 2.5 it performed badly on SMP systems. To make use of all your processors, set the CpuAffinityMask parameter in firebird.conf to: 3 for 2 CPUs/cores; 15 for 4 CPUs/cores; 255 for 8 CPUs/cores.
Linux SuperServer ignores CpuAffinityMask.
Ya digo, que cuando un cliente ha ido aumentado sus conexiones al servidor y vemos que todos los procesadores están casi siempre a un alto nivel de uso, le cambiamos el servidor por uno de más cpus y problema solucionado. Firebird reparte las peticiones entre ellos y se acabó el problema, es una "gozada" ver varias cpus a tope de rendimiento, abres una nueva conexión, haces un select complicado y ves en la pantalla de monitorización como la consulta se lanza contra otra cpu que está ociosa y no notas nada de retraso.
El único problema es ahí los discos duros, pero ya digo que hay que montar los más rápidos que se pueda permitir económicamente.
En un par de clientes también tenemos instalado red de fibra óptica, por lo que los "cuellos de botella" que mencionas se quedan prácticamente en la eficiencia de las SQLs que hayamos hecho nosotros

En cuanto a la memoria, la verdad es que firebird consume muy poco, otra gran ventaja, pero sí necesita un poco por cada conexión abierta, obviamente, no recuerdo la cantidad, pero también es poco, el lunes lo puedo confirmar preguntando a un cliente, pero juraría haber visto en algunas ocasiones más de 6 Gb de ram usadas, eso sí, con varias decenas de conexiones activas.

En fin, que al igual que afirmas que con servidores linux la diferencia de rendimiento con windows es bastante grande, también creo que esos "limitantes" que has puesto de cpus y ram, se dan sólo en windows, donde se usa la versión superserver. Y no tiene nada que ver con las versiones classic de firebird, menos todavía en linux.

Última edición por Casimiro Notevi fecha: 11-11-2011 a las 19:32:08.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Google compra más empresas !! ... como lo hacen ? gluglu Noticias 4 14-04-2007 23:07:15
Adopcion de SOA se duplicara en empresas en los proximos dos años. Epachsoft Noticias 7 09-04-2007 04:24:22
Listado de empresas DarKraZY La Taberna 0 10-11-2006 15:16:50
Bloquean el acceso a Internet en empresas españolas Sasuke_Cub Noticias 0 17-05-2006 17:46:14
Progama para varias empresas halcon_rojo Varios 7 06-04-2006 15:13:27


La franja horaria es GMT +2. Ahora son las 09:28:28.


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
Copyright 1996-2007 Club Delphi