Como comparar o desempenho da CPU do mainframe?

5

Estou trabalhando com um aplicativo que é executado no tomcat no OMVS. Ele corre terrivelmente em um mainframe e adequadamente em outro. Existe uma maneira de comparar a CPU dos dois mainframes como referência?

Eu tentei:

/d m=cpu

Não achei os resultados muito promissores. Os resultados pareciam ser os mesmos para o nosso mini e nosso sistema principal. Eu diria que o mini é realmente mais limitado.

Nota: Estou procurando mais pelo poder de processamento da CPU nesta LPAR específica.

GC _

    
por GC_ 07.06.2016 / 22:17

2 respostas

8

Comparar o número de CPUs de uma imagem de mainframe não é significativo, provavelmente. Os mainframes são projetados para executar várias tarefas ao mesmo tempo e dar prioridade ao que a empresa diz ser o mais importante, e são capazes de ser altamente virtualizados, portanto, observar o número de CPUs não é muito importante. Você precisa entender o ambiente em torno de seu aplicativo, que inclui o peso atribuído à sua LPAR (quanto acesso às CPUs lógicas a LPAR é garantida), outras coisas que estão sendo executadas na LPAR ao mesmo tempo e outras coisas em execução na outras LPARs no mesmo CEC ao mesmo tempo. Você também precisa entender a política do WLM do LPAR, pois isso informa ao z / OS quais objetivos do aplicativo são mais importantes e quais são menos importantes.

Por favor, note que a análise de desempenho do mainframe é uma habilidade especializada, que as pessoas passam anos aprendendo, então há um limite para o que pode ser dito via stackexchange. Conversar com o seu programador do sistema / analistas de desempenho provavelmente seria uma coisa muito melhor do que tentar descobrir por si mesmo, além de ser um exercício de aprendizado puro.

Dito isto, posso dar-lhe algumas coisas básicas para analisar ou perguntar sobre. Você pode ou não conseguir acessar alguns dos dados / ferramentas que mencionarei.

Primeiro, e mais básico, todos os mainframes têm a capacidade de coletar dados de desempenho em registros SMF 70-79, que recomendamos que as lojas reúnam como prática comum, e se você deseja obter um nível muito baixo, SMF 113 registros. Eles são registros binários, no entanto, e não são fáceis de entender, mas estão lá. Seu formato está documentado no manual do z / OS MVS System Management Facilities (SMF).

Em seguida, há várias ferramentas que podem ser usadas para registrar registros RMF pós-processamento, como o RMF, da IBM e uma variedade de ferramentas de fornecedores. Se você tiver acesso a eles, poderá obter informações muito detalhadas sobre a utilização da CPU de vários espaços / processos de endereço ao longo do tempo. Algumas ferramentas também têm modos interativos, onde você pode obter instantâneos em tempo real de atividades de LPAR individuais, bem como atividades em todo o CEC. O SDSF e o EJES também podem fornecer algumas informações básicas sobre o LPAR, o CEC e os espaços de endereço em execução, para que você possa observar o tempo de CPU acumulado, por exemplo. Se você puder nos dizer a quais ferramentas você tem acesso, poderemos fornecer mais conselhos específicos.

No entanto, enquanto as duas imagens têm o mesmo número de CPUs lógicas definidas, o sistema principal tem um peso muito maior do que o mini system, significando que o sistema principal tem acesso garantido a mais capacidade de CPU do que o mini um faz, e na maioria das vezes, o mini sistema não pode e não tentará realmente despachar trabalho para a maioria desses processadores. Se você está rodando em um z13, e está no modo PROCVIEW CORE, uma das coisas que o comando / d m = cpu lhe dirá é se as CPUs estão estacionadas ou não. As CPUs estacionadas são CPUs com as quais a imagem do z / OS não está funcionando, já que o sistema que as possui (provavelmente o sistema principal, se ambos estiverem no mesmo CEC) está despachando trabalho para elas.

    
por 08.06.2016 / 13:44
7

Kevin menciona vários pontos importantes, mas pode ajudar a iniciar a análise em um nível um pouco mais alto: quais são as duas máquinas e, como estamos falando do Tomcat que é executado em uma JVM, os dois têm zAAPs ou zIIPs (assumindo zAAP no zIIP)?

A partir do "d m = cpu" você deve ser capaz de obter as informações do modelo da máquina que, pelo menos, avisam se você está realmente comparando maçãs com maçãs. Aqui está um exemplo antigo das minhas anotações:

D M=CPU                                                
IEE174I 13.15.43 DISPLAY M 443                         
PROCESSOR STATUS                                       
ID  CPU                  SERIAL                        
00  +                     0xxxxx2817                   
01  +                     0xxxxx2817                   
02  -                                                  
03  N                                                  
04  N                                                  
05  N                                                  
06  N                                                  
07  N                                                  
08  NI                                                 
09  NI                                                 
0A  NI                                                 
0B  NI                                                 

CPC ND = 002817.M15.IBM.02.0000000xxxxx                
CPC SI = 2817.403.IBM.02.00000000000xxxxx            

Pontos-chave aqui: o xxxxx é o número de série (obscurecido aqui). O 2817 é o número do modelo, o que equivale a um z196, que hoje em 2016 é duas gerações atrás do atual z13 (modelo 2964). Os números dos modelos têm um sentido muito limitado: você terá que procurá-los. Mas se as duas máquinas em questão são modelos diferentes, isso faz parte de uma diferença.

O "M15" na linha CPC ND é uma indicação de quantos livros / gavetas estão instalados, é provavelmente uma consideração menor nesta situação.

O "403" na linha SI do CPC é importante. O "4" indica a velocidade relativa dos mecanismos de uso geral (GP). Para as máquinas maiores (chamadas de Enterprise Class), isso pode variar de 4 (mais lento) a 7 (mais rápido). Para as máquinas menores (que costumam ser chamadas de "Business Class"), o indicador de velocidade vai de A (mais lento) a Z (mais rápido, mas mais lento que um 7xx da mesma geração de máquina). O "03" indica quantos GPs estão disponíveis na máquina. Para configurações comuns de menos de 100 GPs, isso é simplesmente um número decimal. Portanto, neste exemplo, a máquina é uma z196 com 3 GPs que estão operando na menor velocidade possível nesta geração de máquinas.

No entanto, você mencionou o Tomcat e, como o Tomcat é executado na JVM, a maior parte do tempo da CPU deve estar no mecanismo especializado - um zAAP ou zIIP, supondo que A) foi comprado na máquina e B) eles estão configurados corretamente na LPAR. Os motores especiais funcionam a toda velocidade, independentemente da velocidade dos motores de uso geral. I.E. Os zIIPs sempre operam na velocidade 7xx, mesmo se estiverem em uma máquina 4xx.

Se você está tentando executar o Tomcat sem mecanismos especializados ... bem, isso provavelmente não é bom se você estiver em uma máquina de subcapacidade (não uma 7xx), por um número de razões potencialmente relacionadas à provável capacidade disponível e custos de software.

No entanto, observe que, embora a maioria do tempo de CPU do Tomcat seja transferido para o zIIP / zAAP (quando disponível), ainda haverá uma quantidade que será executada nos mecanismos GP, tornando a situação do GP também importante. Dependendo da configuração, o valor executado nos GPs pode ser tão baixo quanto 1-2% do total ou pode ser > 10%.

Observe na exibição acima que os zIIPs são CPUs 08-0B, mas são "N" disponíveis. Nesse caso, eles foram definidos para o LPAR, mas não estavam disponíveis atualmente no hardware porque essa era uma máquina de DR que não tinha a configuração CBU em vigor no momento do instantâneo. Infelizmente, esses são apenas zIIPs lógicos, o número de zIIPs físicos ou zAAPs não estão disponíveis nesta exibição, o que é realmente um pouco mais difícil de rastrear. Mas se você tiver zIIPs lógicos / zAAPs on-line, você sabe que tem pelo menos alguns mecanismos para suportá-los.

Mesmo que as duas máquinas em questão tenham a mesma geração e mesmas configurações de velocidade e o mesmo número de mecanismos (GPs e zIIPs), entram em jogo toda a série de perguntas / problemas em torno do fato de que mainframes raramente executam um único sistema Geralmente, há vários LPARs em execução simultaneamente. E nessa situação, você tem que começar a investigar os dados que Kevin menciona para entender o que realmente está acontecendo. Mas se você estiver comparando maçãs (2964-605, com zIIPs) a bananas (2828-F03 sem mecanismos especializados), você deve esperar diferenças de desempenho desde o início.

Finalmente, devo observar que a versão do Java que está sendo usada em relação à geração da máquina também é importante. Por exemplo, se as duas máquinas em questão forem z13s, mas um Tomcat estiver usando Java 8 e o outro Java 7, esperaria diferenças porque a exploração das novas instruções do z13 é apenas no Java 8.

E tudo isso se concentra apenas nos problemas de desempenho relacionados à CPU. Obviamente, você também pode ter diferenças e problemas em outros lugares. Mas a CPU é um bom lugar para começar a procurar outras informações.

Eu executei com sucesso o Tomcat no z / OS com pouco ou nenhum problema - mas eu tinha capacidade zAAP / zIIP adequada disponível.

    
por 17.07.2016 / 21:30