Hola Mariano,

El servidor es 2005, tiene 6GB de ram, corre únicamente el SQL y es 64bits por 
lo que no tuve que hacer modificaciones a parámetros de arranque del SO o usar 
AWE. Tengo armado tres raids, 1 para el SO, 1+0 para datos y 1+0 para logs.
En cuanto a la configuración a cual te referís específicamente. Hice 
modificaciones en parametros como cantidad de memoria máxima y mínima, número 
máximo de subprocesos...
También tengo armado mirroring en todas las bases (cerca de 50)
Era la única espera que tenía en ese momento y los discos la verdad que no los 
medí. 

Marcelo, esta en linea pero no existían bloqueos.

Muchas gracias por sus respuestas

Seba

----- Original Message ----- 
  From: Jose Mariano Alvarez 
  To: Seba Frank 
  Sent: Friday, November 14, 2008 12:14 AM
  Subject: [dbms] Delete con esperas


  Tu problema A PRIORI parece ser presion sobre la memoria (buffer pool) debida 
a la lentitud en el IO.
  Sin embargo podria deberse a muchos otros factores.

  Es 2005?
  El servidor esta configurado default?
  Cuanta memoria tiene?
  Pusiste a cero los waits antes de medirlos?
  Determinaste la cantidad ademas de los ms?
  Mediste los discos y las operaciones del buffer manager?

  saludos

  -------------------------------- 
  Atte.
  Ing. Jose Mariano Alvarez
  SQL Total Consulting



  2008/11/13 Marcelo Colombani <[EMAIL PROTECTED]>

    Hola, Sebastián yo sigo tirando posibles causas.... je je

    ¿esta en linea? 
    Si es así, no te fijaste si se producen bloqueos y se queda esperando que 
otro usuario libere el registro.

    Marcelo
      ----- Original Message ----- 
      From: Seba Frank 
      To: Marcelo Colombani 
      Sent: Thursday, November 13, 2008 10:30 AM
      Subject: [dbms] Delete con esperas


      Marcelo, tiene un solo índice y no tiene fragmentación. El where lo hace 
por el índice.
      La verdad sigo en investigación pero no se me ocurre que puede ser...

      Si a alguno se le ocurre algo para ver serán bienvenidos los comentarios

      Saludos

      Seba
        ----- Original Message ----- 
        From: Carlos Peix 
        To: Seba Frank 
        Sent: Thursday, November 13, 2008 8:40 AM
        Subject: [dbms] Delete con esperas


        Hola Marcelo,

        Lo del uso de recursos lo dije porque tiene que almacenar todos los 
cambios de la transaccion, cuanto mas cantidad de operaciones de modificacion 
se realicen, mas espacio se necesita, en principio, proporcinalmente. Lo que 
puede estar pasando con la no proporcionalidad que menciona Sebastian (100.000 
-> un segundo, 500.000 varios minutos) puede deberse a sobrepasar algun limite 
que habria que investigar.

        Con que mencionas de la fragmentacion no tengo experiencia, pero se me 
ocurre que puede sumar tiempo linealmente, no el salto que menciona Sebastian.

        Y paro aca porque ya estoy hablando mas de la medida cobre cosas que no 
se (si, tengo hasta medida para hablar de cosas que no se :-) ).

        Carlos Peix



------------------------------------------------------------------------
        De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Marcelo 
Colombani
        Enviado el: Miércoles, 12 de Noviembre de 2008 11:20 a.m.
        Para: [EMAIL PROTECTED]
        Asunto: [dbms] Delete con esperas


        Puede ser que tengas la tabla muy fragmentada, y apesar de tener pocos 
registros utiliza mucha memoria, como dice Carlos. O también que tengas muchos 
indices definidos para esa tabla.

        Puedes probar con DBCC INDEXDEFRAG sobre el índice cluster.

        Otra: el where se relaciona con algún indice que tienes, porque me ha 
pasado que dependiendo del índice demoraba mas, o menos la eliminación, por la 
selectividad.

        Saludos
        Marcelo
          ----- Original Message ----- 
          From: Carlos Peix 
          To: Marcelo Colombani 
          Sent: Wednesday, November 12, 2008 8:18 AM
          Subject: [dbms] Delete con esperas


          Hola Sebastian,

          No puedo explicar la diferencia tan grande, seguramente estas 
alcanzando algun limite duro. Algo parecido a: a medida que vas consumiendo mas 
memoria, el rendimiendo va disminuyendo linealmente, pero cuando pasas a 
paginar a disco, tenes un salto abismal.

          No digo que sea eso, pero seguramente este pasando algo 
conceptualmente similar.

          Tenes que tener en cuenta quela base de datos tienen que tener toda 
la informacion de la transaccion acumulada para confirmarla en el commit, el 
espacio en que almacena esa informacion es la famosa tempdb. Cuando mas grande 
es la transaccion, mas se fuerza este recurso.

          Ya me sorprende que tarde nada mas que un segundo en borrar 100.000 
registros (yo hubiese sugerido 20 o 30K). Ya que tenes que segmentar, yo me 
quedaria con 100.000.

          Carlos Peix



----------------------------------------------------------------------
          De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Seba Frank
          Enviado el: Miércoles, 12 de Noviembre de 2008 10:06 a.m.
          Para: [EMAIL PROTECTED]
          Asunto: [dbms] Delete con esperas



          No no, es una tabla con 40 millones de registros, asique esa 
posibilidad no cabe en este escenario.
          Lo que hice fue borrarlos de a subconjuntos. Lo raro fue que al 
borrar 100.000 lo hacía en 1 segundo, pero con 500.000 se me moría, lo deje 
corriendo 5 min y lo cancele. Algún comentario acerca de este comportamiento.

          Saludos
            ----- Original Message ----- 
            From: Guevara Freddy 
            To: [EMAIL PROTECTED] 
            Sent: Tuesday, November 11, 2008 7:02 PM
            Subject: RE: [dbms] Delete con esperas




            Cuál es el numero de registros que quedarían en la estructura luego 
de borrado los registros, adicional, es proceso batch?……, prueba realizando un 
insert into a una tablatmp física del los que qudan por fuera del delete, drop 
de la tabla antigua y sp_rename de la tmp con el nombre de la original y no 
descuidar la respectiva creación de índices… 





            Att

            Fredy J. Guevara Carrillo


--------------------------------------------------------------------

            De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Seba 
Frank
            Enviado el: Martes, 11 de Noviembre de 2008 8:21
            Para: Guevara Freddy
            Asunto: [dbms] Delete con esperas



            Buen día lista.



            Tengo un problema con un delete. El mismo debería borrar cerca de 5 
millones de registros. El problema que tengo es que se me suspende, y el tipo 
de espera es PAGEIOLATCH_EX. El tiempo de espera no pasa nunca los 500 lo que 
me da una pauta de que se ejecuta y luego vuelve a suspenderse.

            Mas datos, el where es sobre un indice cluster que tiene un solo 
campo, ej indice id y el where id=x.

            La fragmentación es casi nula porque acabo de reindexar.



            Tienen alguna idea o comentario?



            Muchas Gracias



            Seba


Responder a