Capacity Planning en SQL Server 
Muestro cómo hacer un capacity planning sólo desde el punto de vista del consumo de recursos..
1 2 INTRODUCCIÓN.....................................................................................................................................3 SERVIDOR SQL2KSLL ...........................................................................................................................4 Estadísticas Generales.......................................................................................................................4 Uso de Disco......................................................................................................................................5 Uso del Procesador ............................................................................................................................6 Uso de Memoria.................................................................................................................................6 SERVIDOR SRV_SLL_ST........................................................................................................................7 Estadísticas Generales.......................................................................................................................7 Uso de Disco......................................................................................................................................8 Uso del Procesador ............................................................................................................................9 Uso de Memoria.................................................................................................................................9 SERVIDOR SINTEGRA........................................................................................................................10 Estadísticas de Uso Generales..........................................................................................................10 Uso de Discos ..................................................................................................................................11 Uso del Procesador ..........................................................................................................................12 Uso de Memoria...............................................................................................................................12 SERVIDOR RELOJ................................................................................................................................13 Estadísticas de Uso Generales..........................................................................................................14 Uso de Discos ..................................................................................................................................15 Uso del Procesador ..........................................................................................................................16 Uso de Memoria...............................................................................................................................16 ESTIMACIÓN DE REQUERIMIENTOS MÍNIMOS DE DISCOS...................................................17 ESTIMACIÓN DE REQUERIMIENTOS MÍNIMOS DE MEMORIA .............................................18 ESTIMACIÓN DE REQUERIMIENTOS MÍNIMOS DE CPU..........................................................18 RECOMENDACIONES GENERALES.................................................................................................19 APENDICES............................................................................................................................................20 APENDICE A – Bibliografía ............................................................................................................20 APENDICE B – Detalle de los Cálculos...........................................................................................21 Ejemplo de Cálculo de CPU.............................................................................................................21 Ejemplo de Cálculo de Rendimiento de Disco..................................................................................22 3 Introducción !!"!# $%&!'()*)#+$,(-+))-.,!-!$,!)#!/)-# !/)) "! $ ("-!##!! $) ++"!-#/!!# $4 Servidor Sql2kSLL 012+"33453675897 !":;<552%"<552%=#>?,$%:$&@31*&0&90;,%AAAAA='(" AAAAEstadísticas Generales Servidor Sql2kSLL: Estadísticas Generales Categoría Promedio Total Máximo Total Mínimo Total Data File(s) Size (KB) 2.844.850 2.875.584 2.824.384 IO Data Bytes/sec 168.574 9.170.415 1.082 Transactions/sec 5 116 1 User Connections 164 167 161 Total Server Memory (KB) 788.283 1.042.016 383.992 %Memoria 75,2 99,4 36,6 %Disco 2,6 44,2 0,0 %CPU 5,9 71,1 0,0 i/o Mbps 1,3 70,0 0,0 Categoría % ok % exceso Criterio Exceso %Memoria 34,0 66,0 >70% %Disco 100,0 0,0 >90% %CPU 99,7 0,3 >70% i/o Mbps 98,3 1,7 >30Mbps 75,2% 2,6% 5,9% 1,3Mbps 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% %Memoria %Disco %CPU i/o Mbps Categoría Servidor: sql2KSLL, Uso Promedio de los Recursos Sin uso Uso del Recurso 5 Uso de Disco ,!&0Tendencia Lineal del Espacio Ocupado por Bases SQL Servidor SQL2KSLL 0 1,000,000 2,000,000 3,000,000 4,000,000 5,000,000 6,000,000 7,000,000 8,000,000 9,000,000May 2006 May 2006 May 2006 Jun 2006 Jun 2006 Jul 2006 Jul 2006 Ago 2006 Ago 2006 Sep 2006 Sep 2006 Oct 2006 Oct 2006 Nov 2006 Nov 2006 Nov 2006 Dic 2006 Dic 2006 Ene 2007 Ene 2007 Feb 2007 Feb 2007 Mar 2007 Mar 2007 Abr 2007 Abr 2007 May 2007 May 2007 May 2007 Jun 2007 Fecha KB ocupados Espacio Ocupado (KB) Lineal (Espacio Ocupado (KB)) ,!&10BThroughput Request Type Rq/sec Ratio KB/Sec Lecturas 76 43 261 Prelecturas 74 8 379 Escrituras 19 49 74 Total 169 100 715 Razón de Acceso a Disco -Servidor SQL2kSLL Prelecturas 8% Escrituras 49% Lecturas 43% Lecturas Prelecturas Escrituras 1,600,000 1,650,000 1,700,000 1,750,000 1,800,000 1,850,000 1,900,000 May 2006 May 2006 May 2006 May 2006 May 2006 May 2006 May 2006 May 2006 May 2006 Fecha KB ocupados Espacio Ocupado (KB) Espacio Ocupado por Bases SQL Servidor SQL2KSLL 6 Uso del Procesador CPUs Quantity 2 CPUs Velocity (MegaCicles) 450 Mhz Request Type %SQLCPU Rq MC Rq/Sec Trx/Sec Rq/Data Op Ratio Op Cost (MC/Op) User Cost (MC/User) Lectura 8 72 76 3 25.33 43 0.04 0.05 Prelectura 8 72 74 3 24.67 8 0.04 0.01 Escritura 58 522 19 3 6.33 49 4.34 6.38 6.43 Total Max Users 140 Warning Supported Users (75% CPU) 105 Uso de Memoria )%*$990(+!(410;C7= '$C0Paginación de Memoria v/s Uso de Caché -Servidor SQL2kSLL 0 200 400 600 800 1000 1200 1400 1600 03-May-06 04-May-06 05-May-06 06-May-06 07-May-06 08-May-06 09-May-06 10-May-06 11-May-06 Fecha Páginas/Sec 99.982 99.984 99.986 99.988 99.990 99.992 99.994 99.996 99.998 100.000SQL Caché Hit Ratio Paginación S.O. Paginación SQL SQL Caché Hit Ratio 7 Servidor Srv_SLL_ST 012+"334536758C !"
?,$%:@$&@31*&0&90;,%AAAAA='(" AAAAEstadísticas Generales Servidor Srv_SLL_St: Estadísticas Generales Categoría Promedio Total Máximo Total Mínimo Total Data File(s) Size (KB) 1.802.296 1.919.488 998.080 IO Data Bytes/sec 73.749 10.802.116 75 Transactions/sec 1 7 0 User Connections 3 7 1 Total Server Memory (KB) 129.069 326.632 8.080 %Memoria 12,3 31,2 0,8 %Disco 0,7 13,1 0,0 %CPU 1,9 20,0 0,0 IO Mbps 0,6 82,4 0,0 Categoría % ok % exceso Criterio Exceso %Memoria 100,0 0,0 >70% %Disco 100,0 0,0 >90% %CPU 100,0 0,0 >70% i/o Mbps 99,3 0,7 >30Mbps 12,3% 0,7% 1,9% 0,6Mbps 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% %Memoria %Disco %CPU IO Mbps Categoría Servidor: srv_sll_st, Uso Promedio de los Recursos Sin uso Uso del Recurso 8 Uso de Disco ,!&0,!&310BThroughput Request Type Rq/sec Ratio KB/Sec Lecturas 24 48 92 Prelecturas 20 7 90 Escrituras 6 45 22 Total 50 100 203 Razón de Acceso a Disco -Servidor SRVSLLST Prelecturas 7% Escrituras 45% Lecturas 48% Lecturas Prelecturas Escrituras Espacio Ocupado Por Bases SQL Servidor SRVSLLST 1,700,000 1,750,000 1,800,000 1,850,000 1,900,000 1,950,000 2,000,000 03-05-2006 04-05-2006 05-05-2006 06-05-2006 07-05-2006 08-05-2006 09-05-2006 10-05-2006 11-05-2006 Fecha Espacio Ocupado (KB) Tendencia Lineal del Espacio Ocupado por Bases SQL Servidor SRVSLLST 0 1,000,000 2,000,000 3,000,000 4,000,000 5,000,000 6,000,000 7,000,000 8,000,000 9,000,000 10,000,000 May 2006 Jun 2006 Jul 2006 Ago 2006 Sep 2006 Oct 2006 Nov 2006 Dic 2006 Ene 2007 Feb 2007 Mar 2007 Abr 2007 May 2007 Jun 2007 Jul 2007 Ago 2007 Sep 2007 Fecha KB ocupados Espacio Ocupado (KB) Lineal (Espacio Ocupado (KB)) KB ocu pad os 9 Uso del Procesador CPUs Quantity 2 CPUs Velocity (MegaCicles) 450 Mhz Request Type %SQLCPU Rq MC Rq/Sec Trx/Sec Rq/Data Op Ratio Op Cost (MC/Op) User Cost (MC/User) Lectura 15 135 20 0.7 28.57 48 0.24 0.08 Prelectura 15 135 24 0.7 34.29 7 0.16 0.01 Escritura 1 9 6 3 2.00 45 0.75 1.01 1.10 Total Max Users 818 Warning Supported Users (75% CPU) 614 Uso de Memoria Paginación de Memoria v/s Uso de Caché -Servidor SRV-SLL-ST 0 100 200 300 400 500 600 700 800 900 1000 03-May-06 04-May-06 05-May-06 06-May-06 07-May-06 08-May-06 09-May-06 10-May-06 11-May-06 Fecha Páginas/Sec 98 98 99 99 100 100SQL Caché Hit Ratio Paginación S.O. Paginación SQL SQL Caché Hit Ratio Paginación de Memoria v/s Uso de Caché -Servidor SRV-SLL-ST 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 03-May-06 04-May-06 05-May-06 06-May-06 07-May-06 08-May-06 09-May-06 10-May-06 11-May-06 Fecha Páginas/Sec 98 98 99 99 100 100SQL Caché Hit Ratio Paginación S.O. Paginación SQL SQL Caché Hit Ratio ,,'*$70(+!(@10;4= '$7010 Servidor Sintegra 01&774C@FC463 !"2E,#>?$%:@$&E771*&0;@&310=%77$90,%'("-#8>Estadísticas de Uso Generales Servidor Sintegra: Estadísticas Generales Categoría Promedio Total Máximo Total Mínimo Total Data File(s) Size (KB) 6.083.388 6.382.208 6.046.336 IO Data Bytes/sec 50.258 4.230.798 4 Transactions/sec 4 121 1 User Connections 11 34 6 Total Server Memory (KB) 577.055 1.677.976 17.816 %Memoria 27,5 80,1 0,8 %Disco 38,4 1969,0 0,0 %CPU 2,2 99,8 0,0 i/o Mbps 0,4 32,3 0,0 Categoría % ok % exceso Criterio Exceso %Memoria 90,0 10,0 >70% %Disco 96,4 3,6 >90% %CPU 99,4 0,6 >70% i/o Mbps 99,9 0,1 >30Mbps 27,5% 38,4% 2,2% 0,4Mbps 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% %Memoria %Disco %CPU i/o Mbps Categoría Servidor: SINTEGRA, Uso Promedio de los Recursos Sin uso Uso del Recurso 11 Uso de Discos Throughput Request Type Sintegra Disk Rq/sec Ratio KB/sec Lecturas 87 40 279 Prelecturas 86 10 551 Escrituras 301 50 1204 Total 474 100 2034 Razón de Acceso a Disco -Servidor Sintegra Lecturas; 40% Escrituras; 50% Pre-Lecturas; 10% Lecturas Pre-Lecturas Escrituras E spa cio d e D isco Ocup ad o p o r D B S erve r S integra 0 500 ,000 1,000 ,000 1,500 ,000 2,000 ,000 2,500 ,000 3,000 ,000 3,500 ,000 4,000 ,000 4,500 ,000 5,000 ,000 03-05-2006 04-05-2 006 05 -05-20 06 06-05-2006 07-0 5-2006 0 8-05-20 06 09-05 -2006 10-05-2006 11-05-2 006 Fe ch a K B disco K B Dis c o ,!&7$30Tendencia Lineal del Espacio Ocupado por Bases SQL Servidor Sintegra 0 1,000,000 2,000,000 3,000,000 4,000,000 5,000,000 6,000,000 7,000,000 8,000,000 9,000,000 10,000,000 11,000,000 12,000,000 13,000,000 14,000,000 15,000,000 16,000,000 17,000,000 18,000,000May-06 Jul-06 Ago-06 Oct-06 Dic-06 Feb-07 Abr-07 Jun-07 Ago-07 Oct-07 Dic-07 Feb-08 Abr-08 Jun-08 Ago-08 Oct-08 Dic-08 Feb-09 Abr-09 Jun-09 Ago-09 Oct-09 Dic-09 Feb-10 Abr-10 Jun-10 Fecha KB ocupados Espacio Ocupado (KB) Lineal (Espacio Ocupado (KB)) ,!&C10B12 Uso del Procesador CPUs Quantity 2 CPUs Velocity (MegaCicles) 1133 Mhz Request Type %SQLCPU Rq MC Rq/Sec Trx/Sec Rq/Trx Ratio Op Cost (MC/Op) User Cost (MC/User) Lectura 59 1336.94 87 2.192 39.69 40 0.39 0.34 Prelectura 59 1336.94 86 2.192 39.23 10 0.40 0.09 Escritura 43 974.38 301 103.314 2.91 50 1.11 57.40 57.82 Total Max Users 39 Warning Supported Users (75% CPU) 29 Uso de Memoria ("*$30(+!(410;73= '$30Paginación de Memoria v/s Uso de Caché -Servidor Sintegra 0 500 1000 1500 2000 2500 3000 3500 4000 03-05-2006 04-05-2006 05-05-2006 06-05-2006 07-05-2006 08-05-2006 09-05-2006 10-05-2006 11-05-2006 Fecha Páginas/sec 94 95 96 97 98 99 100 101SQL Caché Hit Ratio Paginación S.O. Paginación SQL SQL Cache Ratio 13 Servidor RELOJ (012+"3345G7,33 !"H#>?$%:@$&771*&&310@%9)0,%3I!'("-#8>%%J!(E!%K596@,%3!9$0!+/100++70% %Disco 99,7 0,3 >90% %CPU 100,0 0,0 >70% i/o Mbps 97,4 2,6 >30Mbps 49,9% 7,8% 1,5% 2,1Mbps 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% %Memoria %Disco %CPU i/o Mbps Categoría Servidor: RELOJ, Uso Promedio de los Recursos Sin uso Uso del Recurso 15 Uso de Discos Throughput Request Type Sintegra Disk Rq/sec Ratio KB/sec Lecturas 525 66 2773 Prelecturas 524 17 5706 Escrituras 159 16 203 Total 1208 99 8682 Razón de Acceso a Disco -Servidor Reloj PreLecturas 17%Escrituras 16% Lecturas 67% Lecturas PreLecturas Escrituras Espacio Base Reloj (KB) 0 2.000.000 4.000.000 6.000.000 8.000.000 10.000.000 12.000.000 14.000.000 27-02-2006 28-02-2006 01-03-2006 02-03-2006 03-03-2006 04-03-2006 Fecha KB Espacio (KB) ,!&$016 Uso del Procesador CPUs Quantity 2 CPUs Velocity (MegaCicles) 233 Mhz Request Type %SQLCPU Rq MC Rq/Sec Data Op/Sec Rq/Data Op Ratio Op Cost (MC/Op) User Cost (MC/User) Lectura 46 214.034 525 87 6.04 66 0.07 3.88 Prelectura 46 214.034 524 87 6.03 17 0.07 1.00 Escritura 70 326.247 159 83 1.91 16 1.07 14.27 19.14 Total Max Users 24 Warning Supported Users (75% CPU) 18 Uso de Memoria .*$7C0(+!(910;9= '$740Paginación de Memoria versus Uso de Caché -Servidor Reloj 0 20 40 60 80 100 120 140 03-May 00:00 04-May 00:00 05-May 00:00 06-May 00:00 07-May 00:00 08-May 00:00 09-May 00:00 10-May 00:00 11-May 00:00 Fecha de Muestra Paginas por Segundo 98.00 98.20 98.40 98.60 98.80 99.00 99.20 99.40 99.60 99.80 100.00 100.20 Paginación S.O. Paginación SQL Cache Ratio 17 Estimación de Requerimientos Mínimos de Discos %!1,H%HH!((%/#$/('((/"(0&-123(40310'15678910:+2)0:+2%!1,H%H%(%/#$/('((/"(0&-12)%$0;;'$0("7$30.$0'1<6=8910:+2)0:+2%!1+J"-#(%/#$/('((/"(0&-12)%9;;'("73.397'>?5@1?%!1+;!=%-#3-#(%/#$/('((/"(05A12)%397;;'@@("C774.@939@'1>1?>@7B)?> !"#$%#!$H$",! )%!H"@!%)-@)$!#)7(.-+;!$H$)!"!='")%$C10!;;'$10!("$9410!.4$@C10!'116B7918 Estimación de Requerimientos Mínimos de Memoria 3(4)555&()555((.(")%,,''310$30410$70*$7C0$30$990$707$40(+!(910;9=410;73=410;C7=@10;4=$0 '$30$70$740$30$C0$70B6?=89Estimación de Requerimientos Mínimos de CPU :+")%C7$@7;;'4$("733C$4.99$@')B7@70+62(.J73&43O99C31)!&)58C)-!!!)! ($,()GCP)!!(')J&43O1OQ99C3IO9931O*993I99;7P=OC9@1!&4*)R@$B678C$19 Recomendaciones Generales &( ,-* )#!#!#+ $+:(6-!)#D-&'/(!(E&'&9&FG(/(((6&!#5R.!!.-!)-#"+"!!! $"!(-( !"G6!"#;"#R=#*)")!!-! $%* )! )!#)LRM)+ )-#$ !##$&-G !(&!!)##&$G%!EH$,%##?!R!+) .!!#($,%3) #-""-.P$6##?!R!+!"/!!#($ !(&09%2#:!!!)#!!$&"(!((-)!&!.& )!-+&!(#!!#$(@5 #$#D-H&R1#!;=)!,?;+*1#!=)R#+9:"R!%1,$&'--!#"$-20 APENDICES APENDICE A – Bibliografía · )555&(I((!"S#"1$;8:=))?>),%· )555J"& G1+S@#",K):)T#"$E!!8:10· -()555!"S#"T%"21 APENDICE B – Detalle de los Cálculos Ejemplo de Cálculo de CPU 82#+!!O?!"B?!GGO!* U2VGU0"$(2E#/!5! * G39P)-JGGO$39&&77O77$9@;1G!5=$6!! * G@7P)-JGGO$@7&&77O9C@$74;1G=("(0&2-#.&J+09//("L$"M"2K@=0:"(@%2N+09//("L$"M"2K@?0:"(?>%2N+09//("L$"3M"2KB510:"(@%21#!(KM0M+M'+2!H! ;1B=O77$9@B;4C&79$9=!H! ;1B=O77$93B7@37$7O$791B!H! ;1B!=O77$9@B;4&79$7=!H! ;1B!=O77$9@B77C7$C4O$@1B!!H! ;1B=O9C@$74B;7&$9=!H! ;1B=O9C@$74B4C3$9O$1BK#!(OO'+M!GO$79N@PN$9O$79N$@N$9O$7@!GO$@NPN$9O$@N$N$9O$9!GO$N3PN7$7@O$N$3N7$7@O3C$@$7@I$9I3C$@O3C$41B /K4GM(4&771B3C$41BO79!&$1,F1HC3PGO&77&$C3OC1C1B3C$41BO9!*G22 Ejemplo de Cálculo de Rendimiento de Disco H)L M.&!J4$;:=I@$C;=O$CBHB$CBHO4$H!;O=#"-"H!))-CP!J4$&$CO34H!,(.+RW34!!R)"R!#(!# $Relación IOps x Uso del Disco 0 ( D: C: E:, 4 discos en RAID 5) 0 200 400 600 800 1000 1200 1400 1600 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 IOps Uso del Disco IOps x Uso Disco 58 Iops (Random Write) Max. 800% Disk Time Relación IOps x Encolamiento en Disco 0 ( D: C: E:, 4 discos en RAID 5) 05 10 15 20 25 30 35 0 10 20 30 40 50 60 70 80 90 100 110 120 IOps Requerimentos en Cola IOps x Encolamiento Disco 0 58 IOps (Random Write) Max. 8 queues Relación IOps x Latencia Disco 0 ( D: C: E:, 4 discos en RAID 5) 0.000 0.020 0.040 0.060 0.080 0.100 0.120 0.140 0.160 0.180 0 10 20 30 40 50 60 70 80 90 100 110 120 IOps Segundos de Latencia IOps x Latencia Disco 0 58 IOps (Random Write) Max. 0.020ms &'())*)+,-)).)).-)/