How to test your workload before SQL Migration

Hi Friends,

Today I’ll talk about how to test SQL Workloads before a SQL Migration or to test new features. for this article, let’s suppose that I have a SQL 2012 Instance and I have been asked to switch to SQL 2016, before moving in, I want to test my workloads on SQL 2016 to be sure that I won’t have performance problems with or breaking changes.
The goal is:
– Capture workload from SQL2012
– Replay the workload on SQL2016
– Generate reports with results.

We have some ways to reach the goal, for example:
– Backup from SQL2012 and Restore on SQL2016, change the application connection to SQL2016;
– Use Distributed Replay do simulate workload.
– etc….

The first option we will have downtime for business, since we will point the application just for test and we don’t know what will happen. this can also be dangerous if we have third party integration (we use other application to share or get information, probably we will have data loss to roll back to SQL2012)

The second option is good option, since SQL 2012 we can use Distributed Replay, although this is a command line tool, will just have the replay and you will spend some time to crate the command to capture and replay, we still need to create the report manually.

Now we have a fantastic tool DEA (Database Experimentation Assistant) that is new tool to capture workload form A server and replay on B server. DEA support previous version of SQL Server (2005 and above), so if you want to upgrade a very old instance, you can just use this tool to be a step ahead of possible issues (performance, breaking changes, etc.).

DEA will also provide a very nice report with analysis metric for compatibility errors, degraded queries, query plans, etc., this will allow us to be more confident to do a successful upgrade.

How to use DEA

First step, download the DEA and install it.

The second step, is to setup Distributed Replay, behind the scenes DEA uses Distributed Replay, DEA will provide a user-friendly interface to capture and replay the workloads.

After DR and DEA Setup, we must to have a backup from our Database (initial position), we will restore this backup on new Server, so we will have the same point to replay the workload.

After backup you can start the DEA you should receive a welcome screen like this:

On the left side we have the menu, the first step is to start a workload capture on Source server, in this case SQL2012, so just click on camera icon.

Just click on +New Capture.

At this screen you must enter the Trace Name, Duration (starting for 5 min up to 3 hours), Source SQL Instance, Source Database name, Path to save the trace and a confirmation check box that you made a backup before start the capture (we will restore this backup on SQL2016 before replay, so SQL will compare apples with apples)

You can check the status while SQL is running the trace

After workload capture, we will be able to replay the workload on destination server (SQL2016), to start replaying the workload, click on Play icon on left menu and click over +New Replay:

Now before start replaying the workload, we must restore the backup that we executed before starting the trace (initial position) after restore, you must inform the Replay Name, Distributor Controller Machine, the Path with source trace (the same that we informed on capture trace screen), target SQL Server name, Path to save the trace during the replay (trace on SQL2016) and the check box to inform that we performed a database restore (initial position)

We need to wait for replay, during this phase we can check the status:

In the end, you should have a screen like this:

Now it is time for report, just click on Report icon on left menu and type the name of the server to host the Report and click over connect button:

Click on button +New Analysis Report, if is the first time and you do not have R for Windows and R Interop installed, you will receive a screen informing that you must install it.

After R setup, click over Try Again button and you will receive a screen to setup the Report Analysis, type a name for Report, the source trace file (SQL2012) and Target trace file (SQL2016) and click on Start

Wait for analysis completion

After the analysis, you will receive a dashboard report comparing the Source and Target server, you can click on graphs to drill down into the details, in this case will click on green area.

The detailed report will show all query text and the duration analysis, we also can click on it to see more details.

In this detailed report we will see the performance comparison between the executions, information about compatibility errors (breaking changes) and execution plans.

So that’s all for now, what do you think? Now it is easy to replay workloads before an upgrade isn’t it?

These articles may help you:
Setup Distributed Replay
Distributed Replay Docs
Distributed Replay Troubleshooting
DEA Capture Trace FAQ
DEA Replay FAQ
DEA Report Analysis FAQ
DEA Solution architecture to compare workloads

Thanks

Marcelo Fernandes

Anúncios

REVIEW – 1 ano morando na Alemanha

Marcelo_camilaAmigos,

Esta semana (05/Dez) celebrei 1 ano de mudança para Alemanha, assim como fiz há um ano atrás quando mudei para Berlin, desta vez vou fazer um review de 1 ano.

Quero começar este review respondendo uma frequente questão que vêm sendo abordada.

Você pensa em voltar para o Brasil?
R: SIM… pretendo voltar para o Brazil em uma férias de verão para rever os familiares e amigos e logo em seguida voltar para a Alemanha. 🙂
Pois é, acostumar-se com coisa boa é fácil, isto não quer dizer que não goste de meu país, Estado, Cidade… apenas quero dizer que me sinto infinitamente mais respeitado como pagador de imposto aqui em Berlin. Vejo o retorno de cada centavo que recolho como imposto.

Não vou extender muito nesta resposta para não cair em assunto político. A grande maioria que deixa o Brasil tem um motivador político por trás, o que certamente é muito ruim para nosso país que perde anualmente grandes engenheiros, médicos, pesquisadores etc…

Dificuldades neste 1 ano.
Nem tudo são flores, o fato de morar em um país de 1º mundo, não significa que sua vida funcionará sem problemas ou burocracia. Pelo menos aqui em Berlin a burocracia é até maior que o Brasil em alguns setores. Por exemplo, para abrir uma conta bancária eu recebi 13 cartas!!! e uma delas era uma carta informando que eu ia receber uma carta :).

Além da burocracia em alguns setores, outro ponto complicado na minha visão, para nós brasileiros, é o clima. Quando você pega o primeiro inverno na Europa você nota que no Brasil não temos inverno 🙂 , aliás quando disse para um colega de trabalho russo que em média o inverno em São Paulo atinge em média 12º,ele me olhou com espanto e perguntou:
_ Isto é o inverno???

Então, ele me explicou que na cidade dele, quando fazia -30º, as crianças (<12 anos) eram dispensadas de ir para escola.
Sei que usei um exemplo extremo da Russia, mas o sentimento de diferença de inverno não fica distante, pois as nossas roupas de inverno do Brasil não servem para cá. Compramos jaquetas com descrição que suportam -xx graus, vento, chuva, neve etc.,  mas o inverno dura cerca de 3 meses, e neste período notamos o solstício (lembra que sua professora explicou sobre o solstício e equinócio?). Neste período temos poucas horas de luz solar, em média a luz “liga” por volta das 9:00 a.m. e “desliga” por volta das 15:00 p.m.

Um terceiro ponto que vi como dificuldade neste primeiro ano, é a língua. O alemão é uma língua “criptografada” :), e quando você aprende a falar, na verdade, você só pega a chave de decriptação :).
Estou estudando alemão há 1 mês, e existem alguns sons que pronunciamos que se assemelham a um som de um ronco 🙂 , o que na língua portuguesa não existe nada parecido. Isto é uma dificuldade que tenho para falar corretamente.

E finalmente, mas não menos importante, saudades da família. Em festividades como: Natal e Ano Novo o coração fica bem apertado. Nos falamos via Skype, etc., mas não é a mesma coisa que fazer um churrasco para celebrar um aniversário.

As alegrias neste 1 ano.
Assim como temos o solstício no inverno, temos o equinócio no verão, e ai eu entendi o porquê todo mundo ama o verão Europeu. Ao contrário do solstício a luz “liga” por volta das 4:00 a.m. e “desliga” por volta das 11:00 p.m. Me lembro quando vim para Europa no verão pela primeira vez em 2012, fiquei andando o dia inteiro com minha esposa no primeiro dia de férias. Durante o sol do meio dia, eu imaginava que estávamos às 2 p.m. no máximo, no entanto quando olhei o relógio já era 9 p.m. !! 🙂
O Verão Europeu é realmente bonito, se você tem planos de vir para Europa, recomendo o verão ou a primavera.

Outro ponto positivo neste 1º ano, foram as viagens. Acredito que neste 1º ano viajei mais do que os meus 10 anos de casados 🙂 e o melhor gastei 10% das viagens que fiz nos 10 anos de casados :), isto porque, aqui temos as companhias aéreas “low cost”, em que podemos voar para outro país pagando aproximadamente 20 Euros (um casal de amigos comprou passagens por 6 Euros na Black Friday), e fora os voos baratos, viajei de carro, ônibus e trem, e cada um mais legal que o outro,  pois, pude desfrutar das belas paisagens, que costumo chamar de “paisagens do Windows”

Review do emprego.
Como postei no artigo de como foi o meu processo de mudança, a cultura de empregado e empregador é bem diferente aqui na Alemanha, e eu trabalho para uma empresa americana com chefe americano, então seguimos a cultura americana e alemã em alguns aspectos. O ponto mais legal (e realmente gostei disto) é o respeito ao horário, se você tem uma reunião as 10 a.m. às 9:59 a.m. todos estarão na porta da sala de reunião e às 10:00 a.m. a reunião inicia. Infelizmente no Brasil nossa cultura não respeita muito horários e agendas :(.
Existem muitas oportunidades de emprego aqui na Europa. Recebo vária propostas mensais de oportunidade de emprego, mas informo que estou bem na minha empresa e não tenho intenção de mudar agora e por agradeço a oportunidade. O recruiter, geralmente me retorna pedindo indicações. Muitas oportunidades de emprego existem, porém para isso, o candidato precisa estar preparado (Inglês e Universidade já é um grande começo).

Conclusão
Este artigo ficou maior do que eu imaginava e tem alguns pontos que queria falar mas decidi deixar para um outro momento, como exemplo, cervejas e comidas, caso o contrário, eu deveria, ao invés de um artigo, escrever um livro 🙂 . Se quiserem mais detalhes, ficarei contente em receber sua mensagem e compartilhar um pouco de minha experiência.
Bom, no geral, adotei a Alemanha  como lar, e estou muito feliz com a decisão até agora. Não tenho intenções em voltar para o BR, por enquanto, minha meta para 2019 é participar o máximo de SQLSaturdays da Europa possíveis e aproveitar o final de semana em cada país. Uma grande diferença que notei entre os Europeus e os Brasileiros é a forma como gastam o dinheiro. O brasileiro é bem parecido com o americano, trabalha duro para conseguir comprar uma casa bacana, carro bacana, roupa bacana etc., ou seja, bens materiais, já o Europeu, no geral, prioriza a qualidade de vida, eles têm onde morar, tem um carro,  mas priorizam o lazer, como viagens, do que bens materiais.

Att.
Marcelo Fernandes