<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Especialistas técnicos da Microsoft</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:20:44 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Perfmon: Monitorando o Buffer Manager</title>
      <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/perfmon-monitorando-o-buffer-manager</link>
      <pubDate>Tue, 23 Feb 2016 04:00:00 GMT</pubDate>
      <dc:creator><![CDATA[fcatae]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/especialistasmicrosoft/2016/02/23/perfmon-monitorando-o-buffer-manager/</guid>
      <description><![CDATA[O gerenciador de memória de Buffer de dados, também conhecido por Data Cache ou Database Cache,...]]></description>
      <content:encoded><![CDATA[<p>O gerenciador de memória de Buffer de dados, também conhecido por Data Cache ou Database Cache, fornece as melhores informações sobre a utilização de memória do banco de dados. </p>  <p>Inicialmente analisamos os contadores:</p>  <ul>   <li>Page life expectancy</li>    <li>Lazy writes/sec</li>    <li>Free list stalls/sec</li> <!--EndFragment--></ul>  <p>Segue aqui alguns exemplos de gráfico do Page Life Expectancy (PLE). Particularmente, gosto de utilizar validar se o PLE está acima de 5000 ao invés de usar o tradicional valor limite de 300. Nos casos abaixo, todos os servidores apresentam carga ao longo do dia, embora apenas o terceiro esteja com aparente falta de memória. </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/8306.image_2A024A6D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/8306.image_5F00_2A024A6D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/0876.image_thumb_0FB0382E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/0876.image_5F00_thumb_5F00_0FB0382E.png" width="644" height="165" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/0741.image_5D5A4586.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/0741.image_5F00_5D5A4586.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2021.image_thumb_2A0C6302.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2021.image_5F00_thumb_5F00_2A0C6302.png" width="644" height="204" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2021.image_641DC092.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2021.image_5F00_641DC092.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/6683.image_thumb_11353E12.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/6683.image_5F00_thumb_5F00_11353E12.png" width="644" height="204" /></a></p>  <p>Podemos complementar a análise olhando o contador Free List Stalls/sec, que deve ser sempre zero absoluto – parece que existe um novo Latch que deixa claro sua interferência, que se chama Lazy Writer Helper.</p>  <p>Em seguida, podemos olhar a distribuição de memória usando os contadores:</p>  <ul>   <li>Database pages</li>    <li>Free pages</li>    <li>Stolen pages</li>    <li>Target pages</li>    <li>Total pages</li> </ul>  <p>Os servidores apresentam: 1) distribuição constante e normal; 2) folga e sobra de memória; 3) alto consumo de memória não-buffer (stolen). Em nenhum dos gráficos temos uma situação que podemos chamar de crítica, que seria quando o Stolen Memory chega a 75% do total de memória (pressão interna) ou quando o Total Pages e Target Pages começam a diminuir ao longo do tempo (pressão externa).</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/1346.image_thumb3_62DE4915.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/1346.image_5F00_thumb3_5F00_62DE4915.png"><img title="image_thumb[3]" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px; display: inline; padding-right: 0px" border="0" alt="image_thumb[3]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/8623.image_thumb3_thumb_4493921F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/8623.image_5F00_thumb3_5F00_thumb_5F00_4493921F.png" width="644" height="165" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/7178.image_thumb5_3B3A5D9C.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/7178.image_5F00_thumb5_5F00_3B3A5D9C.png"><img title="image_thumb[5]" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px; display: inline; padding-right: 0px" border="0" alt="image_thumb[5]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/1663.image_thumb5_thumb_0AA6DFE4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/1663.image_5F00_thumb5_5F00_thumb_5F00_0AA6DFE4.png" width="644" height="164" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/1033.image_thumb4_15D2FADF.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/1033.image_5F00_thumb4_5F00_15D2FADF.png"><img title="image_thumb[4]" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px; display: inline; padding-right: 0px" border="0" alt="image_thumb[4]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/0815.image_thumb4_thumb_6E9B425A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/0815.image_5F00_thumb4_5F00_thumb_5F00_6E9B425A.png" width="644" height="164" /></a></p>  <p>Por fim, confirmamos que as variações do PLE são causados por Table/Index Scan no servidor usando os contadores Page Reads/sec e Readahead pages/sec. Adicionalmente, você pode acompanhar o contador Page lookups/sec para ter uma ideia da carga.</p>  <ul>   <li>Page lookups/sec</li>    <li>Page reads/sec</li>    <li>Readahead pages/sec</li> </ul>  <p>Seguem os gráficos correspondentes: notamos que a quantidade de Reads (aleatório + sequencial) é praticamente igual a Readahead (sequencial). Assim, o primeiro servidor apresenta picos de utilização, que causam grandes variações no PLE . No segundo e terceiro servidor, está ocorrendo uma operação de Scan realizando a leitura de 10-30 mil págnas por segundo (equivalente a 80-240MB/seg!!!). </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/3005.image_190A0429.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/3005.image_5F00_190A0429.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/5187.image_thumb_7D6808E3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/5187.image_5F00_thumb_5F00_7D6808E3.png" width="644" height="165" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/3414.image_2CB97E6E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/3414.image_5F00_2CB97E6E.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2210.image_thumb_3302E5AD.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2210.image_5F00_thumb_5F00_3302E5AD.png" width="644" height="204" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2158.image_394C4CEC.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2158.image_5F00_394C4CEC.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2022.image_thumb_617E85FE.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2022.image_5F00_thumb_5F00_617E85FE.png" width="644" height="204" /></a></p>  <p>Aqui conseguimos concluir:</p>  <ul>   <li>Servidor 1 possui memória suficiente para aguendar a carga. A variação do PLE ocorre por conta de picos de consumo (ver gráfico do readahead), mas não há indícios de falta de memória.</li>    <li>Servidor 2 possui memória de sobra (ver o gráfico de Free Memory) e recebe uma carga bastante pesada (ver gráfico de readahead)</li>    <li>Servidor 3 recebe uma carga semelhante ao Servidor 2 (ver gráfico de readahead), entretanto o PLE indica que o nível de memória está constantemente baixo. A distribuição de memória revela que grande parte está reservado como Stolen Memory (provavelmente são Memory Grants). A carga desse servidor é alta e falta memória.</li> </ul>  <p>Não há dúvida que o Performance Monitor é a melhor ferramenta para conduzir uma análise sobre a utilização de memória do SQL Server.</p><div style="clear:both;"></div><img src="https://blogs.msdn.com/aggbug.aspx?PostID=10661710" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>Desafio: Analisando Servidor com Perfmon</title>
      <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/desafio-analisando-servidor-com-perfmon</link>
      <pubDate>Tue, 16 Feb 2016 03:00:00 GMT</pubDate>
      <dc:creator><![CDATA[fcatae]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/especialistasmicrosoft/2016/02/16/desafio-analisando-servidor-com-perfmon/</guid>
      <description><![CDATA[Hoje é dia de desafio! Estou colocando os contadores (na forma gráfica) para que você possa analisar...]]></description>
      <content:encoded><![CDATA[<p>Hoje é dia de desafio! Estou colocando os contadores (na forma gráfica) para que você possa analisar e tirar suas conclusões.</p>  <blockquote>   <p><strong>Artigo: </strong><a title="Perfmon- Falso Sentido de Monitoração" href="https://blogs.msdn.com/b/fcatae/archive/2016/01/12/perfmon-falso-sentido-de-monitoracao.aspx"><strong>Perfmon- Falso Sentido de Monitoração</strong></a></p>    <p><strong>Artigo: Os 7 Grandes Mitos do Perfmon:</strong></p>    <ul>     <li><a href="https://blogs.msdn.com/b/fcatae/archive/2016/01/19/os-7-grandes-mitos-do-perfmon-parte-1.aspx">Parte 1: Buffer Cache Hit Ratio, Average Disk Queue Length e %Disk Busy</a></li>      <li><a href="https://blogs.msdn.com/b/fcatae/archive/2016/01/26/os-7-grandes-mitos-do-perfmon-parte-2.aspx">Parte 2: Paging File:%Usage, Memory: Page Faults/sec e Memory: Pages/sec</a></li>      <li><a href="https://blogs.msdn.com/b/fcatae/archive/2016/02/02/os-7-grandes-mitos-do-perfmon-parte-3.aspx">Parte 3: SQL Access Methods: Page Splits/sec, SQL Locks: Lock Waits/sec e SQL General Statistics: User Connections</a></li>   </ul> </blockquote>  <blockquote>   <p><strong>Artigo: </strong><a href="https://blogs.msdn.com/b/fcatae/archive/2016/02/09/contadores-do-perfmon.aspx"><strong>Contadores do Perfmon</strong></a></p>    <p>&#160;</p> </blockquote>  <h1>Contadores coletados</h1>  <p>Fig.1: Consumo de CPU: %Processor Time e %Privileged Time (Kernel Time)</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/0167.image_7E43D269.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/0167.image_5F00_7E43D269.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/3201.image_thumb_1FC301F9.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/3201.image_5F00_thumb_5F00_1FC301F9.png" width="644" height="165" /></a></p>  <p>Fig.2: Fila de CPU: Processor Queue Length</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/1106.image_65D64FBD.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/1106.image_5F00_65D64FBD.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/3021.image_thumb_0E774C76.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/3021.image_5F00_thumb_5F00_0E774C76.png" width="644" height="165" /></a></p>  <p>Fig.3: System: Context Switches</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/5008.image_501188C2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/5008.image_5F00_501188C2.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/0652.image_thumb_51E1DE89.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/0652.image_5F00_thumb_5F00_51E1DE89.png" width="644" height="165" /></a></p>  <p>Fig.4: Memória: %Committed Bytes</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/7215.image_4888AA06.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/7215.image_5F00_4888AA06.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/1754.image_thumb_51783C45.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/1754.image_5F00_thumb_5F00_51783C45.png" width="644" height="152" /></a></p>  <p>Fig.5: Memória: Available MB (memória livre no sistema)</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/6404.image_1A31B50A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/6404.image_5F00_1A31B50A.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/5367.image_thumb_17F7BCFF.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/5367.image_5F00_thumb_5F00_17F7BCFF.png" width="644" height="165" /></a></p>  <p>Fig.6: Logical Disk: Reads/sec e Writes/sec (IOPS)</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2335.image_19C812C6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2335.image_5F00_19C812C6.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2260.image_thumb_54AF458F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2260.image_5F00_thumb_5F00_54AF458F.png" width="644" height="164" /></a></p>  <p>Fig. 7: Logical Disk: Disk Read Bytes/sec e Disk Write Bytes/sec (taxa de transferência – MB/s)</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/3276.image_325A40C7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/3276.image_5F00_325A40C7.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/7343.image_thumb_063D43D6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/7343.image_5F00_thumb_5F00_063D43D6.png" width="644" height="164" /></a></p>  <p>Fig. 8: Logical Disk: Avg Disk Sec/Transfer (latência do disco)</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/0336.image_15DFDF98.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/0336.image_5F00_15DFDF98.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/6663.image_thumb_731EA7DA.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/6663.image_5F00_thumb_5F00_731EA7DA.png" width="644" height="165" /></a></p>  <p>Fig. 9: Logical Disk: Writes/sec e Disk Write Bytes/sec (IOPS e taxa de escrita no disco de LOG)</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/5556.image_34BB74D8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/5556.image_5F00_34BB74D8.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2766.image_thumb_7655B124.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2766.image_5F00_thumb_5F00_7655B124.png" width="644" height="164" /></a></p>  <p>Fig. 10: Logical Disk: Avg Disk Sec/Write (latência no disco de LOG) – escala de 0 a 20ms</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2870.image_01EDFF15.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2870.image_5F00_01EDFF15.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/8015.image_thumb_236D2EA4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/8015.image_5F00_thumb_5F00_236D2EA4.png" width="644" height="164" /></a></p>  <p>Fig. 11: Network Interfaces: Data Sent/sec e Data Received/sec (taxa de transferência de rede)</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/0435.image_2E99499F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/0435.image_5F00_2E99499F.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/4276.image_thumb_30699F66.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/4276.image_5F00_thumb_5F00_30699F66.png" width="644" height="165" /></a></p>  <p>Fig. 12: Buffer Manager: Free Pages, Stolen Pages, Database Pages, Total Pages, Target Pages (Buffer Distribution)</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/8816.image_5FBB14F0.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/8816.image_5F00_5FBB14F0.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/0250.image_thumb_246A3FE3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/0250.image_5F00_thumb_5F00_246A3FE3.png" width="644" height="165" /></a></p>  <p>Fig. 13: Buffer Manager: Page Life Expectancy e Lazy Writes/sec</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2018.image_6D23B8A7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2018.image_5F00_6D23B8A7.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/8228.image_thumb_4106BBB6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/8228.image_5F00_thumb_5F00_4106BBB6.png" width="644" height="165" /></a></p>  <p>Fig. 14: Buffer Manager: Free List Stalls/sec</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/0827.image_1E4583F9.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/0827.image_5F00_1E4583F9.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/5543.image_thumb_3C2698AB.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/5543.image_5F00_thumb_5F00_3C2698AB.png" width="644" height="165" /></a></p>  <p>Fig. 15: Buffer Manager: Page Reads/sec e Readahead pages/sec</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/1050.image_66955A79.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/1050.image_5F00_66955A79.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/0842.image_thumb_33C7E4B6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/0842.image_5F00_thumb_5F00_33C7E4B6.png" width="644" height="165" /></a></p>  <p>Fig. 16: General Statistics: User Connections</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/3386.image_780ADCB3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/3386.image_5F00_780ADCB3.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/5265.image_thumb_19F63F38.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/5265.image_5F00_thumb_5F00_19F63F38.png" width="644" height="165" /></a></p>  <p>Fig. 17: General Statistics: Logins/sec, Resets/sec e SQL Statistics: Batches/sec</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2475.image_54DD7201.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2475.image_5F00_54DD7201.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/5633.image_thumb_1D96EAC6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/5633.image_5F00_thumb_5F00_1D96EAC6.png" width="644" height="165" /></a></p>  <p>Fig. 18: SQL Statistics: Batches/sec, SQL Compilations/sec, SQL Re-Compilations/sec</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2438.image_5B26D940.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2438.image_5F00_5B26D940.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/2772.image_thumb_0AE481C0.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/2772.image_5F00_thumb_5F00_0AE481C0.png" width="644" height="165" /></a></p>  <p>Fig. 19: SQL Statistics: SQL Compilations/sec, SQL Re-Compilations/sec, Safe Auto-Params/sec, Forced Parametrizations/sec</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/5554.image_6C99CAC9.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/5554.image_5F00_6C99CAC9.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/29/metablogapi/7115.image_thumb_7C3C668B.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-29-metablogapi/7115.image_5F00_thumb_5F00_7C3C668B.png" width="644" height="165" /></a></p>  <p>&#160;</p>  <h1>Qual a sua recomendação sobre o servidor?</h1>  <p>Olhando os gráficos, enxergo pelo menos uma recomendação sobre o servidor. E você, qual a sua opinião?</p>  <ul>   <li>Falta CPU na máquina?</li>    <li>Falta memória RAM?</li>    <li>Qual o ganho em usar discos SSD?</li>    <li>Podemos habilitar o Buffer Pool Extension?</li>    <li>As stored procedures podem ser otimizadas?</li>    <li>Valeria a pena usar o Hekaton?</li>    <li>Que tal arriscar o ColumnStore?</li> </ul>  <p>&#160;</p>  <p>No próximo post vou revelar um pouco mais sobre como analisar esses contadores. Vamos falar sobre a distribuição de memória do SQL.</p><div style="clear:both;"></div><img src="https://blogs.msdn.com/aggbug.aspx?PostID=10661708" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>Contadores do Perfmon</title>
      <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/contadores-do-perfmon</link>
      <pubDate>Tue, 09 Feb 2016 03:00:00 GMT</pubDate>
      <dc:creator><![CDATA[fcatae]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/especialistasmicrosoft/2016/02/09/contadores-do-perfmon/</guid>
      <description><![CDATA[Recapitulando os últimos artigos sobre Performance Monitor.     Artigo: Utilize o Perfmon para criar...]]></description>
      <content:encoded><![CDATA[<p>Recapitulando os últimos artigos sobre Performance Monitor.</p>  <blockquote>   <p><strong>Artigo: Utilize o Perfmon para criar baselines: </strong><a title="Perfmon- Falso Sentido de Monitoração" href="https://blogs.msdn.com/b/fcatae/archive/2016/01/12/perfmon-falso-sentido-de-monitoracao.aspx"><strong>Perfmon- Falso Sentido de Monitoração</strong></a></p>    <p><strong>Artigo: Os 7 Grandes Mitos do Perfmon:</strong></p>    <ul>     <li><a href="https://blogs.msdn.com/b/fcatae/archive/2016/01/19/os-7-grandes-mitos-do-perfmon-parte-1.aspx">Parte 1: Buffer Cache Hit Ratio, Average Disk Queue Length e %Disk Busy</a></li>      <li><a href="https://blogs.msdn.com/b/fcatae/archive/2016/01/26/os-7-grandes-mitos-do-perfmon-parte-2.aspx">Parte 2: Paging File:%Usage, Memory: Page Faults/sec e Memory: Pages/sec</a></li>      <li><a href="https://blogs.msdn.com/b/fcatae/archive/2016/02/02/os-7-grandes-mitos-do-perfmon-parte-3.aspx">Parte 3: SQL Access Methods: Page Splits/sec, SQL Locks: Lock Waits/sec e SQL General Statistics: User Connections</a></li>   </ul> </blockquote>  <p>Minha recomendação de contadores do Performance Monitor:</p>  <ul>   <li>Logical Disk</li>    <ul>     <li>Avg Disk Sec/Read</li>      <li>Avg Disk Sec/Transfer</li>      <li>Avg Disk Sec/Write</li>      <li>Current Disk Queue Length</li>      <li>Disk Bytes/sec</li>      <li>Disk Read Bytes/sec</li>      <li>Disk Write Bytes/sec</li>      <li>Disk Reads/sec </li>      <li>Disk Transfers/sec</li>      <li>Disk Writes/sec</li>   </ul>    <li>Memory</li>    <ul>     <li>%Committed Bytes In Use </li>      <li>Available MB</li>      <li>Committed Bytes</li>      <li>Free System Page Table Entries</li>      <li>Pool Nonpaged Bytes</li>      <li>Pool Paged Bytes</li>   </ul>    <li>Network Interfaces</li>    <ul>     <li>Bytes Received/sec</li>      <li>Bytes Sent/sec</li>      <li>Bytes Total/sec</li>   </ul>    <li>Processor</li>    <ul>     <li>%Processor Time</li>      <li>%Privileged Time</li>   </ul>    <li>System</li>    <ul>     <li>Context Switches/sec</li>      <li>Exception Dispatches/sec</li>      <li>Processor Queue Length</li>      <li>System Calls/sec</li>   </ul> </ul>  <p>Adicionalmente, utilize esses contadores por instância do SQL:</p>  <ul>   <li>Buffer Manager</li>    <ul>     <li>Database pages</li>      <li>Free list stalls/sec</li>      <li>Free pages</li>      <li>Lazy writes/sec</li>      <li>Page life expectancy</li>      <li>Page lookups/sec</li>      <li>Page reads/sec</li>      <li>Readahead pages/sec</li>      <li>Stolen pages</li>      <li>Target pages</li>      <li>Total pages</li>   </ul>    <li>General Statistics</li>    <ul>     <li>Connection Reset/sec </li>      <li>Logins/sec</li>      <li>Logouts/sec</li>      <li>User Connections</li>   </ul>    <li>SQL Statistics</li>    <ul>     <li>Batch Requests/sec</li>      <li>Safe Auto-Params/sec</li>      <li>Forced Parametrizations/sec</li>      <li>SQL Compilations/sec</li>      <li>SQL Re-Compilations/sec</li>   </ul> </ul>  <p>O ideal é fazer coletas com intervalos regulares entre 5 a 60 segundos.</p>    <h3>Baseline de Performance</h3>  <p>Além disso, os contadores do Performance Monitor são importantes para fazer comparações ao longo do tempo. Eles podem indicar um aumento progressivo do consumo de recursos ou alguma atividade diferente da normal. Utilize esses contadores na forma gráfica para ajudar a identificar algum comportamento diferente.</p>  <p>Existem dois casos nos quais o Perfmon se destaca em relação às demais ferramentas (Profiler, DMV, XE): </p>  <ul>   <li>Analise a distribuição de memória do SQL Server</li>    <li>Medição dos tempos de resposta do storage</li> </ul>  <p>No próximo post, vou colocar um exemplo dos contadores.</p><div style="clear:both;"></div><img src="https://blogs.msdn.com/aggbug.aspx?PostID=10661704" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>Como Instalar e Personalizar o ADFS 3.0</title>
      <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/como-instalar-e-personalizar-o-adfs-3-0</link>
      <pubDate>Wed, 03 Feb 2016 12:06:35 GMT</pubDate>
      <dc:creator><![CDATA[Rogerio Halicki Cordeiro]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/especialistasmicrosoft/2016/02/03/como-instalar-e-personalizar-o-adfs-3-0/</guid>
      <description><![CDATA[&nbsp; O serviço de Active Directory Federation Service nunca esteve tão em evidência como nestes...]]></description>
      <content:encoded><![CDATA[<p><font size="3"></font>&nbsp;</p> <p><font size="3">O serviço de Active Directory Federation Service nunca esteve tão em evidência como nestes últimos anos devido à adoção de serviços na nuvem pelas empresas. Conectoar a identidade do Active Directory onpremises com serviços na nuvem pode ser uma desafio. Diferente dos protocolos NTLM e Kerberos que não foram desenvolvidos para a Internet o ADFS atua como um provedor de identidade para a aplicações web suportado os principais protocolos de comunicação com aplicações modernas.</font></p> <p><font size="3">O ADFS 3.0 suporta três protocolos de sign-in:</font></p> <p><a name="_Toc431906997"><font size="3" face="Segoe UI">WS-Federation</font></a></p> <ul> <li><font size="3">Desenvolvido por um grupo de empresas, incluindo Microsoft;</font></li> <li><font size="3">Utilizado para integração com a plataforma .NET e produtos Microsoft (SharePoint, Azure, Dynamics CRM);</font></li> <li><font size="3">Token no formato SAML 1.1;</font></li> <li><font size="3">Mais informações em </font><a href="https://msdn.microsoft.com/en-us/library/ms951235.aspx"><font size="3">https://msdn.microsoft.com/en-us/library/ms951235.aspx</font></a><font size="3"> e </font><a href="https://msdn.microsoft.com/en-us/library/bb498017.aspx"><font size="3">https://msdn.microsoft.com/en-us/library/bb498017.aspx</font></a><font size="3">.</font></li></ul> <p><a name="_Toc431906998"><font size="3" face="Segoe UI">SAML-P</font></a></p> <ul> <li><font size="3">Desenvolvido por um comitê técnico do OASIS; </font></li> <li><font size="3">Sigla de Security Assertion Markup Language (Linguagem de Marcação de Assertivas de Segurança);</font></li> <li><font size="3">Padrão para intercâmbio de informações de autenticação e autorização entre diferentes domínios de segurança;</font></li> <li><font size="3">Implementado como um protocolo baseado na troca de mensagens XML, atende a diversos cenários de aplicação web, incluindo SSO e propagação de identidade;</font></li> <li><font size="3">Utilizado para integração com aplicações terceiras como: Oracle WebLogic, Lotus Notes e SAP;</font></li> <li><font size="3">Token no formato SAML 2.0;</font></li> <li><font size="3">Mais informações em </font><a href="https://go.microsoft.com/fwlink/?LinkId=193996"><font size="3">https://go.microsoft.com/fwlink/?LinkId=193996</font></a><font size="3">. </font></li></ul> <p><a name="_Toc431906999"><font size="3" face="Segoe UI">OAuth</font></a></p> <ul> <li><font size="3">Desenvolvido pelo Internet Engineering Task Force (IETF);</font></li> <li><font size="3">Utilizado para integração com aplicações Single Page Application (SPA), Universal Windows Plataform (UWP) e mobile WindowsPhone, IOS e Android;</font></li> <li><font size="3">Token no formato JWT – JSON Web Token;</font></li> <li><font size="3">Mais informações em </font><a href="https://oauth.net/"><font size="3">https://oauth.net/</font></a><font size="3"> e </font><a href="https://msdn.microsoft.com/en-us/library/dn633593.aspx"><font size="3">https://msdn.microsoft.com/en-us/library/dn633593.aspx</font></a><font size="3">.</font></li></ul> <p><font size="3"></font>&nbsp; <p><font size="3">Neste artigo vou explicar passo a passo e dar dicas para você instalar da melhor maneira o ADFS 3.0 no seu ambiente.</font> <p><font size="3">O ADFS 3.0 exige pouca memória, disco e processador e em 100% dos casos que trabalhei com ADFS as máquinas eram virtuais. 2 processadores, 4 GB de memória e 100 GB de disco são suficientes. O Windows Internal Database ( nativo no Windows Server ) também é uma barata e eficiente escolha como banco de dados e será usada neste exemplo.</font> <p><font size="3">O ADFS é totalmente sensível e dependente de certificados digitais, você precisará de 3, mas só um deles o Service Communications precisará ser público, confiável e válido na Internet. Não use certificados emitidos por Certificates Authorities Internas como o ADCS nem certificados autoassinados para esta finalidade, além de não confiável e não estar na lista de Trust Root Certificate Authorities das máquinas a lista de certificados revogados raramente estão disponíveis para consulta.</font> <p><font size="3"><font style="background-color:#ffff00;"><strong>NÃO ECONOMIZE AQUI, COMPRE UM CERTIFICADO !</strong></font> No meu laboratório usarei o certificado <strong>*.labpfe.com</strong> que foi emitido pela DigiCert válido por um ano. Importe o certificado na máquina com o respectiva chave privada. (já dá para notar que certificados Wild Card são suportados)</font> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture_266060F7.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture_5F00_266060F7.jpg"><img title="Capture" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture_thumb_33EB1F52.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture_5F00_thumb_5F00_33EB1F52.jpg" width="675" height="166" /></a> <p><font size="3">Se o seu Active Directory está no nivel functional WS 2012 / R2 poderá utilizar uma conta de serviço chamada gMSA ( Group Managed Service Accounts ). Diferente de uma conta de usuário que é usada como serviço a gMSA você não define uma senha explicitamente, existe uma negociação direta entre o serviço e o serviço de KDC ( key distributed center ) do Domain Controller correspondente. O principal benefício deste modelo é não afetar o serviço quando a senha expira ou é alterada. Fica a dica. Mas procure saber se o seu serviço suporta este tipo de conta, o ADFS suporta e vamos ensiná-lo/a como configure-lo.</font> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture1_0DFC5F68.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture1_5F00_0DFC5F68.jpg"><img title="Capture1" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture1" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture1_thumb_5C296A32.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture1_5F00_thumb_5F00_5C296A32.jpg" width="674" height="216" /></a> <p><font size="3">Para habilitar o gMSA no Active Directory você precise executar o seguinte commando:</font> <p><font style="background-color:#ffff00;" color="#333333" size="3"><strong>C:\Add-KdsRootKey</strong></font> <p><font size="3">Você poderá ter que esperar até 10 horas depois deste commando para que este serviço esteja disponível em todos os controladores de domínio da floresta, não tenha pressa, aguarde este período.</font> <p><font size="3">No meu laboratório eu executei o commando forçandoa hora como se fosse 10 horas atrás permitindo que eu continuasse o setup do ambiente. <strong>NÃO FAÇA ISSO EM PRODUÇÃO</strong>. Faça por fases, execute o commando em um dia e o resto do setup no outro.</font> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture2_22AD4AA7.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture2_5F00_22AD4AA7.jpg"><img title="Capture2" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture2" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture2_thumb_6137B9AF.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture2_5F00_thumb_5F00_6137B9AF.jpg" width="681" height="154" /></a> <p><font size="3">Uma dica rápida para ver o nível functional da floresta é executar o commando Get-ADForest</font> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture3_5F8C0F3D.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture3_5F00_5F8C0F3D.jpg"><img title="Capture3" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture3" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture3_thumb_2DE0560E.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture3_5F00_thumb_5F00_2DE0560E.jpg" width="683" height="247" /></a> <p><font size="3">Instale a função Active Directory Federation Services</font> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture4_13A50E4C.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture4_5F00_13A50E4C.jpg"><img title="Capture4" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture4" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture4_thumb_1C4FA99C.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture4_5F00_thumb_5F00_1C4FA99C.jpg" width="684" height="236" /></a> <p><font size="3">Aguarde o fim da instalação e em seguida clique no ícone para iniciar o setup de configuração. Escolha a opção Create the first federation server in a federation server farm.</font> <p><font size="3">IMPORTANTE: Não existe mais a opção em instalar em Standalone ( um único servidor ) mesmo que você tenha uma única máquina a criação em Farm Mode é mandatória.</font> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture9_1CE087E6.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture9_5F00_1CE087E6.jpg"><img title="Capture9" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture9" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture9_thumb_4EFF6476.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture9_5F00_thumb_5F00_4EFF6476.jpg" width="684" height="429" /></a>       <p><font size="3">Você precisa ser um Domain Admin configurar o ADFS não basta ser um Local Admin. Por padrão ele sugere o mesmo usuário que está “logado” na máquina.</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture10_28C22C80.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture10_5F00_28C22C80.jpg"><img title="Capture10" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture10" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture10_thumb_57D82C38.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture10_5F00_thumb_5F00_57D82C38.jpg" width="684" height="208" /></a></p> <p><font size="3">No campo SSL Certificate escolha seu certificado, informe o nome da sua farm, no meu caso adfs.labpfe.com e o nome amigável que aparecerá na tela de login do ADFS Forms Based Authentication.</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture11_530ED2AF.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture11_5F00_530ED2AF.jpg"><img title="Capture11" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture11" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture11_thumb_1369977F.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture11_5F00_thumb_5F00_1369977F.jpg" width="686" height="294" /></a></p> <p><font size="3">Aqui chegou a hora de informar a conta de serviço gMSA, só escolha este modelo se atendeu os requisites explicados no início deste artigo ( nivel functional da floresta e o Root Key habilitado e aguardado no mínimo 10 horas). No campo informe um nome para a conta, observe que não é necessário digitar uma senha. Caso contrário escolha a opção “Use an existing domain user account or group MSA” e informe uma conta e senha previamente criada no AD ( este conta pode ser Domain Users somente ).</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture12_54553A98.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture12_5F00_54553A98.jpg"><img title="Capture12" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture12" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture12_thumb_4F54CBF3.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture12_5F00_thumb_5F00_4F54CBF3.jpg" width="683" height="292" /></a></p> <p><font size="3">Deixe a opção Create a database on this server using Windows Internal Database. Se preferir utilize um servidor SQL server existente. Lembre-se ! Se o seu SQL Server não estiver em Cluster e ficar indisponível toda autenticação no ADFS será comprometida.</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture13_706A593E.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture13_5F00_706A593E.jpg"><img title="Capture13" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture13" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture13_thumb_65F65893.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture13_5F00_thumb_5F00_65F65893.jpg" width="684" height="290" /></a></p> <p><font size="3">Opcionalmente instale tudo pelo PowerShell, este é um exemplo do commando. Simples mas não muito usual porque você precisará ter o ThumbPrint do certificado em mãos.</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture15_5E700A88.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture15_5F00_5E700A88.jpg"><img title="Capture15" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture15" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture15_thumb_6CD09E1C.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture15_5F00_thumb_5F00_6CD09E1C.jpg" width="683" height="242" /></a></p> <p><font size="3">Aguarde o fim do setup, em seguida abra o DNS Manager e crie um registro A com o nome da sua farm que foi definida no setup apontando para o IP do servidor.</font></p> <p><font size="3"><font color="#ff0000">IMPORTANTE </font>: <font style="background-color:#ffff00;" color="#333333"><strong>NÃO USE TIPO DE REGISTRO CNAME ( APELIDO ) POIS NÃO É SUPORTADO. SE EXISTIR UM BALANCEADOR DE CARGA DE REDE NA FRENTE APONTE PARA O ENDEREÇO IP VIP</strong></font></font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture17_26785969.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture17_5F00_26785969.jpg"><img title="Capture17" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture17" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture17_thumb_4960CD2C.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture17_5F00_thumb_5F00_4960CD2C.jpg" width="685" height="549" /></a></p> <p><font size="3">Faça um teste simples de ping e veja se o novo da farm esta respondendo com sucesso.</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture18_2A42D1AE.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture18_5F00_2A42D1AE.jpg"><img title="Capture18" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture18" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture18_thumb_3FC2A1BA.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture18_5F00_thumb_5F00_3FC2A1BA.jpg" width="680" height="229" /></a></p> <p><font size="3"><font color="#ff0000">DICA :</font> Quando acessar o ADFS pela primeira vez inevitavelmente terá a segunte experiência : um pop up será aberto para autenticação e o single sign on não acontecerá. Isso acontece não por um problema no AFDS mas sim por uma característica do Internet Explorer que pelo fato de estar acessando um serviço com nome público neste caso adfs.labpfe.com o navegador acredita que não esta na intranet e sim na Internet. Para corrigir isso faça o seguinte :&nbsp; Abra o internet explorer na máquina do usuário ou na sua, escolha opções de Internet, guia security, escolha local intranet e clique no botão Sites, e depois em Advanced. Adicine aqui o endereço do seu ADFS iniciando em https:</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture19_47702BCB.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture19_5F00_47702BCB.jpg"><img title="Capture19" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture19" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture19_thumb_782AE589.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture19_5F00_thumb_5F00_782AE589.jpg" width="411" height="399" /></a></p> <p><font size="3">É claro que aqui estará pensando em como fazer isso em massa/lote para vários computadores da rede, afinal todos eles terão que ter esta configuração. Recomendo este artigo que explica como fazer isso.</font></p> <p><a title="https://blog.thesysadmins.co.uk/group-policy-internet-explorer-security-zones.html" href="https://blog.thesysadmins.co.uk/group-policy-internet-explorer-security-zones.html"><font size="3">https://blog.thesysadmins.co.uk/group-policy-internet-explorer-security-zones.html</font></a></p> <p><font size="3">Uma vez configurado, acesse o endereço <a href="https://fqdnadfsname/adfs/ls/idpinitiatedsignon.aspx">https://fqdnadfsname/adfs/ls/idpinitiatedsignon.aspx</a>. No meu caso <a href="https://adfs.labpfe.com/adfs/ls/idpinitiatedsignon.aspx">https://adfs.labpfe.com/adfs/ls/idpinitiatedsignon.aspx</a>. Clique em Sign In. ( todo ADFS bem configurado precisa expor este endpoint na Internet).</font></p> <p><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture21_3478CBD6.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture21_5F00_3478CBD6.jpg"><img title="Capture21" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture21" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture21_thumb_63609F1C.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture21_5F00_thumb_5F00_63609F1C.jpg" width="701" height="283" /></a></font></p> <p><font size="3">Ao clicar em Sign In você deve ser autenticado diretamente ( isso é logon único, sso, foi aproveitado o token Kerberos da sua máquina). Se abrir um Pop up você não configurar o local intranet sites no item acima corretamente.</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture22_312176F2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture22_5F00_312176F2.jpg"><img title="Capture22" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture22" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture22_thumb_7254A1AB.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture22_5F00_thumb_5F00_7254A1AB.jpg" width="699" height="288" /></a></p> <p><font size="3">Dica agora sobre o certificado. Por padrão o certificado gerado para Token Signing e Decrypting é auto-assinado e válido por um ano. Um ano é muito pouco tempo em especial para o Token Signing.</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture23_479E583D.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture23_5F00_479E583D.jpg"><img title="Capture23" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture23" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture23_thumb_38F8CDBA.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture23_5F00_thumb_5F00_38F8CDBA.jpg" width="697" height="221" /></a></p> <p><font size="3">Vamos definir um periodo maior de tempo para estes certificados, vamos alterar para 5 anos ou 1825 dias.</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture24_67E0A100.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture24_5F00_67E0A100.jpg"><img title="Capture24" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture24" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture24_thumb_21F1FE91.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture24_5F00_thumb_5F00_21F1FE91.jpg" width="695" height="82" /></a></p> <p><font size="3">Podemos ver o resultado da alteração executando o commando Get-ADFSProperties</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture26_4E9D491B.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture26_5F00_4E9D491B.jpg"><img title="Capture26" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture26" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture26_thumb_1D3686DB.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture26_5F00_thumb_5F00_1D3686DB.jpg" width="697" height="143" /></a></p> <p><font size="3">Execute os commandos abaixo para forçar de maneira urgente a alteração dos certificados Token Signing e Decrypting</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture27_622F0877.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture27_5F00_622F0877.jpg"><img title="Capture27" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture27" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture27_thumb_531D4AFF.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture27_5F00_thumb_5F00_531D4AFF.jpg" width="697" height="82" /></a></p> <p><font size="3">Ao abrir a console do ADFS/Certificates, a data de expiração do certificado foi alterado para 2021 e não mais 2017 como originalmente ( 5 anos )</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture28_23F080CA.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture28_5F00_23F080CA.jpg"><img title="Capture28" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture28" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture28_thumb_79A66A50.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture28_5F00_thumb_5F00_79A66A50.jpg" width="700" height="187" /></a></p> <p><font size="3">Outra dica bacana é alterar o logo de ilustração padrão do ADFS, aquela imagem grande Azul a esquerda do formulário.</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture29_50EA4360.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture29_5F00_50EA4360.jpg"><img title="Capture29" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture29" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture29_thumb_5AD4562D.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture29_5F00_thumb_5F00_5AD4562D.jpg" width="710" height="60" /></a></p> <p><font size="3">Copie uma imagem com resolução 1420 x 1080 pixesls da sua preferência e execute o commando acima referenciando a imagem. Veja o resultado como ficou legal. Se você quer saber todos os commandos para alterar outras áreas do formulário leia este artigo: <a title="https://technet.microsoft.com/en-us/library/dn280950.aspx" href="https://technet.microsoft.com/en-us/library/dn280950.aspx">https://technet.microsoft.com/en-us/library/dn280950.aspx</a></font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture30_0E9EDD30.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture30_5F00_0E9EDD30.jpg"><img title="Capture30" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="Capture30" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/Capture30_thumb_1D6BA3B9.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/Capture30_5F00_thumb_5F00_1D6BA3B9.jpg" width="713" height="371" /></a></p> <p><font size="3"><font color="#ff0000">DICA:</font>&nbsp; O ADFS Proxy no ADFS 3.0 não existe mais. O serviço que expôe o ADFS na Internet agora se chama Web Appliction Proxy (WAP) e é uma subfeature do Remote Access e não mais do ADFS. </font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/image_654F4744.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/image_5F00_654F4744.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/40/metablogapi/image_thumb_4D4DF78D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-40-metablogapi/image_5F00_thumb_5F00_4D4DF78D.png" width="715" height="262" /></a></p> <p><font size="3">Não publique diretamente o ADFS na rede local diretamente na Internet. O WAP é alvo para um artigo dedicado somente para ele, pois além de atuar como ADFS Proxy ele tem outra função de publicação muito interessante que explicarei em um novo artigo. Até lá.</font></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p><div style="clear:both;"></div><img src="https://blogs.technet.com/aggbug.aspx?PostID=3659971&AppID=8540&AppType=Weblog&ContentType=0" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>Os 7 Grandes Mitos do Perfmon (Parte 3)</title>
      <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/os-7-grandes-mitos-do-perfmon-parte-3</link>
      <pubDate>Tue, 02 Feb 2016 02:00:00 GMT</pubDate>
      <dc:creator><![CDATA[fcatae]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/especialistasmicrosoft/2016/02/02/os-7-grandes-mitos-do-perfmon-parte-3/</guid>
      <description><![CDATA[No primeiro post da s&eacute;rie Os 7 Grandes Mitos do Perfmon (Parte 1), comentei sobre os...]]></description>
      <content:encoded><![CDATA[<p>No <a href="https://blogs.msdn.com/b/fcatae/archive/2016/01/19/os-7-grandes-mitos-do-perfmon-parte-1.aspx">primeiro post da s&eacute;rie Os 7 Grandes Mitos do Perfmon (Parte 1)</a>, comentei sobre os contadores:</p>
<ul>
<li>Buffer Manager:Buffer Cache Hit Ratio</li>
<li>LogicalDisk: Average Disk Queue Length e LogicalDisk: %Disk Busy</li>
</ul>
<p>Depois <a href="https://blogs.msdn.com/b/fcatae/archive/2016/01/26/os-7-grandes-mitos-do-perfmon-parte-2.aspx">abordei os contadores relacionados ao Paging File (Parte 2)</a>:</p>
<ul>
<li>Paging File:%Usage</li>
<li>Memory: Page Faults/sec e Memory: Pages/sec</li>
</ul>
<p>Agora vamos terminar com os 3 &uacute;ltimos contadores.</p>
<p>&nbsp;</p>
<h4>5. SQL Access Methods: Page Splits/sec</h4>
<p>O contador Page Splits/sec indica o n&uacute;mero de ocorr&ecirc;ncias de page splits no servidor.</p>
<p>Os registros s&atilde;o armazenados em p&aacute;ginas de 8Kb no servidor. Quando o processo de inser&ccedil;&atilde;o de registro tenta inserir novos dados, mas n&atilde;o encontra espa&ccedil;o livre na p&aacute;gina, ent&atilde;o inicia-se o processo de page split. Nesse processo, metade dos registros s&atilde;o movidos para uma nova p&aacute;gina, liberando espa&ccedil;o da p&aacute;gina original. Ap&oacute;s o processo de page split, as p&aacute;ginas envolvidas ficam com 50% de espa&ccedil;o livre e podem continuar o processo de inser&ccedil;&atilde;o.</p>
<p>Normalmente esse &eacute; o contador favorito para iniciar uma conversa sobre &ldquo;Fill factor&rdquo;, pois altos n&uacute;meros do contador Page splits/sec indicam que as p&aacute;ginas est&atilde;o frequentemente cheias. Entretanto, o processo de Page Split ocorre naturalmente durante a inser&ccedil;&atilde;o de dados e n&atilde;o corresponde necessariamente a um problema. Processos de inser&ccedil;&atilde;o em massa causam sempre um alto n&uacute;mero de page splits/sec.</p>
<p>Se realmente for necess&aacute;rio investigar a ocorr&ecirc;ncia de Page Splits, recomendo que utilize a DMV sys.dm_db_index_operational_stats.</p>
<p>Entretanto, a principal an&aacute;lise &eacute; validar os resultados de fragmenta&ccedil;&atilde;o usando a DMF sys.dm_db_index_physical_stats (vers&atilde;o moderna do DBCC SHOWCONTIG).</p>
<p>&nbsp;</p>
<h4>6. SQL Locks: Lock Waits/sec</h4>
<p>O contador de Lock Waits/sec indica quantas sess&otilde;es entram em bloqueios por segundo. Usar o Perfmon para monitorar os locks &eacute; algo que acho interessante na teoria.</p>
<blockquote>
<p>Exemplo: Estou no tr&acirc;nsito de S&atilde;o Paulo e de repente come&ccedil;ou a chover. Quero monitorar quantas vezes fico bloqueado por algum sem&aacute;foro usando um contador semelhante ao Lock Waits/sec.</p>
</blockquote>
<p>Na pr&aacute;tica, isso tem resultados curiosos:</p>
<blockquote>
<p>A chuva piorou bastante e n&atilde;o estou andando e ainda n&atilde;o consegui atravessar a avenida. Por isso, o contador Lock Waits/sec indica 0, porque n&atilde;o estou passando por mais nenhum outro sem&aacute;foro.</p>
</blockquote>
<p>O contador de Lock Waits/sec n&atilde;o fornece muita pistas sobre o desempenho do servidor. No geral, esse contador apresenta um valor flutuante e com pouco significado. Em condi&ccedil;&otilde;es de problemas ou de tranquilidade (situa&ccedil;&otilde;es completamente opostas), ele indica zero.</p>
<p>Os demais contadores da fam&iacute;lia de Lock s&atilde;o confusos. &Eacute; praticamente imposs&iacute;vel conseguir enxergar Number of Deadlock/sec maior do que 1. Lock timeouts possui um nome atrativo, mas geralmente a query sofre timeout (note que lock timeout est&aacute; associado a <a href="https://msdn.microsoft.com/en-us/library/ms182729.aspx">@@LOCK_TIMEOUT</a>).</p>
<p>Recomendo que use as DMV sys.dm_os_waiting_tasks e sys.dm_exec_requests para acompanhar os bloqueios. Entretanto, se realmente for importante monitorar os locks usando o Perfmon, ent&atilde;o considere o uso do &ldquo;Lock Wait Time (ms)&rdquo; e &ldquo;Average Wait Time (ms)&rdquo;. </p>
<p>&nbsp;</p>
<h4>7. SQL General Statistics: User Connections</h4>
<p>O contador de &ldquo;User connection&rdquo; diz quantas sess&otilde;es est&atilde;o conectadas ao servidor. Na realidade, n&atilde;o h&aacute; nenhum problema em monitorar esse contador, visto que o servidor possui um limite m&aacute;ximo de 30 mil conex&otilde;es. O problema ocorre quando as pessoas usam esse contador para medir a carga no servidor.</p>
<p>Por exemplo, qual dos servidores est&aacute; mais sobrecarregado? (a diferen&ccedil;a &eacute; de 50 vezes!)</p>
<ul>
<li>Servidor A com 100 conex&otilde;es</li>
<li>Servidor B com 5000 conex&otilde;es</li>
</ul>
<p>Entretanto, a carga depende de quais comandos que est&atilde;o sendo executados no servidor. Consigo imaginar um usu&aacute;rio chamado DBA, que &eacute; capaz de executar um &uacute;nico comando DBCC CHECKDB, e &eacute; capaz de causar muito mais carga do que v&aacute;rias aplica&ccedil;&otilde;es rodando ao mesmo tempo.</p>
<p>Muito semelhante ao User Connections, s&atilde;o os contadores chamados &ldquo;SQL Statistics: Batch Requests/sec&rdquo; e &ldquo;SQLStatistics: SQL Compilations/sec&rdquo;. O processo de compila&ccedil;&atilde;o e execu&ccedil;&atilde;o depende muito do tipo de comando submetido. Existem comandos ad-hoc que podem ser facilmente compilados e executados. Por outro lado, existem comandos que acabam com o desempenho da m&aacute;quina.</p>
<p>Como disse no artigo <a href="https://blogs.msdn.com/b/fcatae/archive/2016/01/12/perfmon-falso-sentido-de-monitoracao.aspx">Perfmon: Falso sentido de monitora&ccedil;&atilde;o</a>, use o Performance Monitor para criar baselines de compara&ccedil;&atilde;o do servidor. Houve aumento do n&uacute;mero de conex&otilde;es, batches/seg, n&uacute;meros de compila&ccedil;&otilde;es? Se voc&ecirc; quiser saber a verdadeira causa, ent&atilde;o abandone (temporariamente) o Perfmon e use a estrat&eacute;gia correta (DMV ou XE).</p>
<p>&nbsp;</p>
<p>Finalmente terminamos com a lista dos 7 Grandes Mitos do Performance Monitor.</p>
<p>&nbsp;</p>
<p>No pr&oacute;ximo artigo, farei a sele&ccedil;&atilde;o dos contadores do Perfmon que voc&ecirc; DEVE usar.</p><div style="clear:both;"></div><img src="https://blogs.msdn.com/aggbug.aspx?PostID=10661672" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>Explorando o Vale do Silício :: 1ª Meetup – Spark!</title>
      <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/explorando-o-vale-do-silcio-1-meetup-spark</link>
      <pubDate>Wed, 27 Jan 2016 12:42:12 GMT</pubDate>
      <dc:creator><![CDATA[Rogerio Halicki Cordeiro]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/especialistasmicrosoft/2016/01/27/explorando-o-vale-do-silcio-1-meetup-spark/</guid>
      <description><![CDATA[Pessoal, seguem minhas impressões sobre a 1ª Meetup que participei organizada pelo grupo SF Data...]]></description>
      <content:encoded><![CDATA[Pessoal, seguem minhas impressões sobre a 1ª Meetup que participei organizada pelo grupo SF Data Science (https://www.meetup.com/pt-BR/SF-Data-Science/). &#160; Aproveito para compartilhar duas questões: Enquete que vocês podem me ajudar a responder: Criei um novo grupo para facilitar a publicação do<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=vivianeribeiro1.wordpress.com&#038;blog=18396985&#038;post=1408&#038;subd=vivianeribeiro1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
    </item>
    <item>
      <title>Os 7 Grandes Mitos do Perfmon (Parte 2)</title>
      <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/os-7-grandes-mitos-do-perfmon-parte-2</link>
      <pubDate>Tue, 26 Jan 2016 03:00:00 GMT</pubDate>
      <dc:creator><![CDATA[fcatae]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/especialistasmicrosoft/2016/01/26/os-7-grandes-mitos-do-perfmon-parte-2/</guid>
      <description><![CDATA[No primeiro post da série Os 7 Grandes Mitos do Perfmon, comentei sobre os contadores:      Buffer...]]></description>
      <content:encoded><![CDATA[<p>No <a href="https://blogs.msdn.com/b/fcatae/archive/2016/01/19/os-7-grandes-mitos-do-perfmon-parte-1.aspx">primeiro post da série Os 7 Grandes Mitos do Perfmon</a>, comentei sobre os contadores: </p>  <ul>   <li>Buffer Manager:Buffer Cache Hit Ratio</li>    <li>LogicalDisk: Average Disk Queue Length e LogicalDisk: %Disk Busy</li> </ul>  <p>Agora vamos continuar falando sobre outros contadores</p>  <h4>3. Paging File:%Usage</h4>  <p>Existe uma discussão sobre qual o tamanho ideal do arquivo de Paging File. Algumas pessoas dizem que o correto é ajustar o Paging File para 1,5 vezes o tamanho da memória da máquina. Entretanto, com as máquinas atuais chegando facilmente a 128GB de RAM, então o arquivo ficaria com quase 200GB de espaço em disco.</p>  <p>A frase de ajustar em 1,5x em relação a memória RAM é um tanto antiquada e deveria se aplicar ao Windows NT e Windows 2000. A realidade mudou bastante com a chegada dos servidores de 64-bits. Hoje podemos dizer que o Paging File deve ser igual ao tamanho ocupado pela Kernel, que seria o tamanho mínimo necessário para gerar um crash dump.</p>  <blockquote>   <p>How to determine the appropriate page file size for 64-bit versions of Windows     <br /><a title="https://support.microsoft.com/en-us/kb/2860880" href="https://support.microsoft.com/en-us/kb/2860880">https://support.microsoft.com/en-us/kb/2860880</a></p> </blockquote>  <p>Se o tamanho do Paging File não depende do SQL Server, mas da Kernel, então por que monitorar?</p>  <p>Sim, você pode monitorar (temporariamente) esse contador para determinar o valor ideal do paging file – que seria algo entre 2GB a 20GB dependendo da quantidade de memória da máquina. Mas certamente, esse contador de Paging File não vai ajudar em nada no tuning do SQL Server.</p>  <p>Por fim, se o SQL Server estiver usando Paging File, algo está muito errado. O objetivo do banco de dados é usar a memória para fazer o cache dos dados em disco. Usar o paging file (disco) para fazer cache de dados (disco) não faz o menor sentido. </p>  <h4>4. Memory: Page Faults/sec e Memory: Pages/sec</h4>  <p>Muitos administradores de sistema usam esses contadores para determinar quando há esgotamento de memória do servidor. A memória RAM é distribuída entre os processos do Windows e, quando ficam ociosos, podem ser paginados para o Paging File.</p>  <p>Em um servidor SQL, o comportamento é ligeiramente diferente: quando há falta de memória, o SQL Server inicia o processo de liberação de memória para evitar que os processos sejam paginados para disco. Portanto, a ideia é que o SQL utilize toda a memória disponível na máquina para montar o cache do banco de dados. Se o Sistema Operacional (SO) precisar de memória, então o SQL Server é sinalizado e parte desse cache é desfeito, retornando a memória livre ao SO. Assim, não é necessário verificar se existe paginação de dados com os contadores de Page Faults/sec e Page/sec.</p>  <p>Entretanto, existem motivos mais fortes para evitar esses contadores:</p>  <ul>   <li><strong>Page Faults/sec </strong>– Conhecido também como “soft page faults”, essas paginações ocorrem somente para reposicionar a memória sem a necessidade de ir ao disco. Esse é um processo comum presente em qualquer Sistema Operacional multitasking. A ocorrência de “soft page faults” está mais relacionada a transição de contexto entre processos do que falta de memória. </li> </ul>  <p>Portanto, altos valores de Page Faults/sec não correspondem a problemas.</p>  <ul>   <li><strong>Pages/sec </strong>– Conhecido como “hard page faults”, essas paginações são movimentações de dados entre a memória e disco. Esse é um processo muito mais custoso do que o “soft page fault”. A paginação da memória para o Paging File é apenas um dos possíveis causadores de “hard page faults”. Na realidade, qualquer mecanismo de “Memory Mapping” contabiliza como uma operação de movimentação de dados. O problema desse contador é que operações simples como cópia, leitura e gravação de arquivo afetam o “pages/sec”. </li> </ul>  <p>Quando há problema de falta de memória, é possível observar um leve aumento nesse contador. Na prática, altos valores de “<strong>Memory:Pages/sec</strong>” são normalmente gravação do arquivo de Backup ou cópia de arquivo usando o File Explorer. </p>  <p>Partindo do princípio de que o SQL Server não usa Paging File, não recomendo que faça a monitoração de paginação do SO. Entretanto, se você realmente quer diagnosticar algum mecanismo de paginação, então o ideal é monitorar a variação de tamanho do Working Set dos processos.</p>  <p>No próximo artigo, vou comentar sobre os 3 últimos contadores que você deve tomar cuidado. </p><div style="clear:both;"></div><img src="https://blogs.msdn.com/aggbug.aspx?PostID=10661662" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>1ª Meetup – Data Analytics :: Explorando o Vale do Silício</title>
      <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/1-meetup-data-analytics-explorando-o-vale-do-silcio</link>
      <pubDate>Tue, 26 Jan 2016 01:57:06 GMT</pubDate>
      <dc:creator><![CDATA[Rogerio Halicki Cordeiro]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/especialistasmicrosoft/2016/01/26/1-meetup-data-analytics-explorando-o-vale-do-silcio/</guid>
      <description><![CDATA[Opa! Confesso que nem dormi ainda e estou empolgadíssima com o dia que já vai iniciando. Difícil...]]></description>
      <content:encoded><![CDATA[Opa! Confesso que nem dormi ainda e estou empolgadíssima com o dia que já vai iniciando. Difícil conseguir dormir com tanta coisa para fazer e tantos conteúdos interessantíssimos para estudar. Impressionante que quanto mais eu estudo mais eu chego a<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=vivianeribeiro1.wordpress.com&#038;blog=18396985&#038;post=1382&#038;subd=vivianeribeiro1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
    </item>
    <item>
      <title>Data Analytics :: Explorando o Vale do Silício</title>
      <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/data-analytics-explorando-o-vale-do-silcio</link>
      <pubDate>Mon, 25 Jan 2016 19:33:14 GMT</pubDate>
      <dc:creator><![CDATA[Rogerio Halicki Cordeiro]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/especialistasmicrosoft/2016/01/25/data-analytics-explorando-o-vale-do-silcio/</guid>
      <description><![CDATA[Pessoal, estou iniciando 2016 em um novo projeto pela BI do Brasil. Ao longo das próximas semanas...]]></description>
      <content:encoded><![CDATA[Pessoal, estou iniciando 2016 em um novo projeto pela BI do Brasil. Ao longo das próximas semanas nós estaremos presentes em vários cursos e eventos no Vale do Silício. E você é nosso convidado a participar dessa grande jornada! Serão 45 dias<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=vivianeribeiro1.wordpress.com&#038;blog=18396985&#038;post=1364&#038;subd=vivianeribeiro1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
    </item>
    <item>
      <title>Os 7 Grandes Mitos do Perfmon (Parte 1)</title>
      <link>https://docs.microsoft.com/archive/blogs/especialistasmicrosoft/os-7-grandes-mitos-do-perfmon-parte-1</link>
      <pubDate>Tue, 19 Jan 2016 03:00:00 GMT</pubDate>
      <dc:creator><![CDATA[fcatae]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/especialistasmicrosoft/2016/01/19/os-7-grandes-mitos-do-perfmon-parte-1/</guid>
      <description><![CDATA[No post anterior, fiz uma breve introdução sobre o Perfmon. Agora é hora de comentar sobre os...]]></description>
      <content:encoded><![CDATA[<p>No post anterior, fiz uma <a href="https://blogs.msdn.com/b/fcatae/archive/2016/01/12/perfmon-falso-sentido-de-monitoracao.aspx">breve introdução sobre o Perfmon</a>. Agora é hora de comentar sobre os principais mitos que sempre as pessoas falam sobre os contadores do Perfmon.</p>  <h4>1. Buffer Manager:Buffer Cache Hit Ratio</h4>  <p>Buffer Cache Hit Ratio determina a eficiência do cache de memória, sendo que as pessoas recomendam que seja acima de 90%. O cálculo desse contador é baseado nos contadores de Page Lookups/sec e Page Reads/sec, sendo calculado como uma média móvel ao longo do tempo. Esse é um dos contadores favoritos dos DBA’s, embora seja muito enganoso.</p>  <p>Um pouco de matemática:</p>  <blockquote>   <p>90% de Buffer Cache Hit Ratio significa 10% de Buffer Cache Miss. Em outras palavras, podemos dizer que 10% das requisições vão para o disco. Um servidor com carga realiza cerca de 100.000 a 1.000.000 de leituras por segundo. Portanto, os 10% de cache miss corresponde a valores entre 10.000 a 100.000 IOPS contra seu storage. </p> </blockquote>  <p>Minha recomendação é que você não use esse contador, mas que use o contador de “Buffer Manager:Page Reads/sec” para saber quantas requisições (em valor absoluto) estão indo ao disco.</p>  <p>Entretanto, se você realmente gosta desse contador, então sempre procure valores acima de 99.5%. Dessa forma, você enxergará um Buffer Cache Hit Ratio de 98% como sendo RUIM; 92% sendo MUITO RUIM; 85% sendo DESASTROSO.</p>  <p>Normalmente quando o servidor está subindo, ele se encontra em processo de warm-up. Durante essa condição, o contador de hit ratio fica extremamente baixo.</p>  <h4>2. Average Disk Queue Length e %Disk Busy</h4>  <p>Os contadores de fila de disco e porcentagem de uso do disco são os piores indicadores de Performance. Jamais use.</p>  <ul>   <li>Não existe um valor de mínimo ou máximo</li> </ul>  <blockquote>   <p>As pessoas falam em 2 vezes o número de spindle, sendo que podemos considerar que os spindles são os discos físicos. Entretanto, o mundo atual de SAN e virtualização impede que esse número seja determinado com precisão. Além disso, os discos montados em LUN podem compartilhar os mesmos arrays de disco com outras LUN – fica inviável determinar qual seria esse valor limite.</p> </blockquote>  <ul>   <li>Esses contadores fornecem muitos falsos-positivos. </li> </ul>  <blockquote>   <p>Todos os sistemas de alta performance de disco realizam enfileiramento de disco para aumentar o throughput. Por isso, ao invés de monitorar a fila, é mais importante medir o tempo de latência do storage. A fila é consêquência: quando o storage apresenta alta latência de disco, causa enfileiramento das requisições.</p> </blockquote>  <ul>   <li>Esses contadores não possuem nenhum significado real. Primeiro, faça a seguinte experiência: colete essas informações do servidor e depois compare os valores. Você notará que os gráficos de %Disk Busy e Average Disk Queue Length são exatamente iguais! Eu diria que o cálculo é mais ou menos o seguinte:</li>    <ul>     <li>Average Disk Queue Length = IOPS x Latência</li>      <li>%Disk Busy = IOPS x Latência x 100%</li>   </ul> </ul>  <p>O problema desse contador é que ninguém sabe o que isso significa. Se você quiser falar sobre fila com pessoal de storage, então fale sobre “outstanding I/O” e não sobre “Average Disk Queue Length”. Curiosamente, o contador para medir “outstanding I/O” possui um nome muito semelhante: “Current Disk Queue Length”.</p>  <p>No próximo post vou comentar sobre outros contadores do Performance Monitor que não devem ser usados.</p><div style="clear:both;"></div><img src="https://blogs.msdn.com/aggbug.aspx?PostID=10661651" width="1" height="1">]]></content:encoded>
    </item>
  </channel>
</rss>