SQL Server Performance

Tranca del servidor

Discussion in 'Preguntas sobre SQL Server en Español.' started by pgarateguy, May 15, 2006.

  1. pgarateguy New Member

    Tenemos un problema identificado con nuestro servidor sql server (SQL Server 2000 Enterprise Edition, SP4 sobre un W2003 Server).

    El problema es que en un determinado momento (en principio aleatorio), notamos que las transacciones concurrentes sobre la tempdb aumentan bastante (normalmente estamos en menos de 2 y en los momentos del problema sube a más de 12), y que el log de la temp comienza a truncar cada uno o dos segundos.

    Esto continúa así hasta que reiniciamos el servicio, solamente en una ocasión, pudimos restaurar la situación eliminando un proceso que identificamos de la siguiente forma:

    DBCC OPENTRAN('tempdb')
    DBCC INPUTBUFFER(spid#)

    Hace tiempo que estamos con este tema, por lo cual hemos probado de todo, actualmente tenemos la base temporal dividida en 4 archivos físicos (dado que el servidor tiene 2 CPU HyperThreading) y el T1118 está habilitado.

    El servidor sobre el que corre tiene 4 Gb de memoria, por lo cual le habilitamos el /3G en el inicio para que el SQL pueda tomar más memoria que los 2 Gb que se le asignan por defecto.

    ¿Alguien tiene idea de que puede estar pasando?
  2. Luis Martin Moderator

    La primera prueba que te sugiero es que deshabilites el HyperThreading.
    Si luego de esto persiste el problema, vuelve a contarme.

    Cuántos procesadores tienes configurados para el paralelismo?

    Saludos,



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    Although nature commences with reason and ends in experience it is necessary for us to do the opposite, that is to commence with experience and from this to proceed to investigate the reason.
    Leonardo Da Vinci

    Nunca esperes el reconocimiento de tus hijos, eso ocurrirá luego de tu muerte


    All postings are provided “AS IS” with no warranties for accuracy.



  3. pgarateguy New Member

    Luis:

    Gracias por tu respuesta, el servidor está configurado para usar 2 procesadores. En la solapa Processor del servidor la configuración está así.

    En Processor Control -
    Están marcados todos (4)
    Maximum worked threads: 300 (lo subimos dado que normalmente tenemos más de 255 conexiones)

    En Paralelism -
    Use 2 processors (que son los reales que tiene el servidor)

    Saludos

    Pablo
  4. Luis Martin Moderator

    Comienza por dejar un solo procesador para el paralelismo.

    Por otro lado si en la solapa figuran 4 procesadores eso quiere decir que el HT está activado.

    No obstante, me parece que pruebes las cosas de una por vez.
    Primero lo del paralelismo. Esto ha resuelto varios problemas similares.


    Luis Martin
    Moderator
    SQL-Server-Performance.com

    Although nature commences with reason and ends in experience it is necessary for us to do the opposite, that is to commence with experience and from this to proceed to investigate the reason.
    Leonardo Da Vinci

    Nunca esperes el reconocimiento de tus hijos, eso ocurrirá luego de tu muerte


    All postings are provided “AS IS” with no warranties for accuracy.



  5. pgarateguy New Member

    Luis:

    Ya hemos probado el tema del paralelismo, tanto con 1, 2 y 4 (2 es el valor por defecto).
    En todos los casos el problema persiste.

    Voy a probar con el Hyperthreading, ¿como puedo saber que deshabilitar?, te consulto porque me aparecen 4 procesadores y no sé cual de esos 4 corresponden a los 2 reales.

    Saludos y gracias
  6. Luis Martin Moderator

    En Windows 2003 tienes un utilitario que es MSCONFIG, en la solapa boot ini, advanced option, /NUNPROC 2.
    Con esto al rebotear te quedará el HT deshabilitado.
    Quizás esto no solucione el problema, pero es sabido por documentaciones que la performance mejora en estas condiciones.



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    Although nature commences with reason and ends in experience it is necessary for us to do the opposite, that is to commence with experience and from this to proceed to investigate the reason.
    Leonardo Da Vinci

    Nunca esperes el reconocimiento de tus hijos, eso ocurrirá luego de tu muerte


    All postings are provided “AS IS” with no warranties for accuracy.



Share This Page