Contents

Introduction

Informações de Apoio

Problema com o design atual

Hora de início do serviço

Visão geral do recurso

Alterações de projeto

Melhorias no desempenho

Figuras de desempenho

Análise de log:

Solicitação de arquivo de configuração sobre HTTP em anterior à 11.5

Solicitação de arquivo de configuração sobre HTTP em 11.5

Introduction

Este documento contém sobre o recurso de arquitetura de escala do Protocolo de Transferência de Arquivos Trivial (TFTP - Trivial File Transfer Protocol) implementado como parte do Cisco Unified Communication Manager (CUCM - Cisco Unified Communication Manager) versão 11.5, a mais recente melhoria para o CUCM. Este é apenas um recurso de engenharia para melhorar o serviço TFTP no que diz respeito ao uso da memória e como ele atende à configuração e aos arquivos estáticos. A lógica empresarial permanece a mesma e não há impacto em relação a outros serviços fornecidos pelo TFTP.

Informações de Apoio

Razões pelas quais esta melhoria foi necessária e incorporada

Problema com o design atual

- A lógica de como o TFTP serve os arquivos de configuração não foi alterada por muito tempo.

- Antes da 11.5, o serviço TFTP cria os arquivos de configuração e coloca em cache todos os arquivos de configuração na memória.

- Com mais capacidade adicionada ao CUCM em relação ao número de telefones suportados, a impressão do pé de memória do serviço TFTP aumentou linearmente.

- Os roteiros futuros exigem capacidade adicional para telefones para serem implementados no CUCM.

- Assim, aborde o aumento da impressão do pé da memória do serviço TFTP que se torna importante.

Hora de início do serviço

- Em implantações de médio a grande porte com telefones de 20.000 a 40.000 configurados.

- Quando uma alteração afeta todos os telefones, o TFTP cria todos os arquivos de configuração afetados e recria o cache.

- Isso aumenta o tempo gasto para o serviço TFTP iniciar.

- No momento em que os telefones solicitam o arquivo de configuração, uma resposta ocupada é enviada ao telefone.

Visão geral do recurso

O novo recurso implementado aborda os dois problemas acima por um design sem cache e cria o arquivo de configuração sob demanda. Quando uma solicitação é enviada do telefone, o serviço TFTP cria o arquivo de configuração em tempo real e o atende ao telefone em tempo real. Ele não armazena em cache o arquivo de configuração na memória, o que por sua vez reduz a hora de início do serviço e o volume de memória do serviço TFTP.

Alterações de projeto

As alterações de design feitas estão em duas categorias, 'Gerenciamento de conexão' e 'Geração de arquivo de configuração'. A tabela abaixo detalha as alterações feitas em cada categoria.

Gerenciamento de conexão

Geração de arquivos de configuração

HTTP

TFTP

Estrutura adicionada para criação sob demanda e arquivos de configuração assinados

A camada de serviço de rede foi projetada para usar o SDL a fim tratar todas as conexões TCP

Nenhuma alteração em que os telefones solicitam os arquivos de configuração sobre UDP

Melhorias no desempenho

Abaixo estão as melhorias de desempenho obtidas com a implementação deste novo recurso.

- Redução significativa no volume de memória do serviço TFTP

- O espaço ocupado pela memória é de aproximadamente 600 MB para o serviço TFTP

- A hora de início do serviço é menor, pois os arquivos não estão em cache

- A hora de início do serviço é independente do número de telefones implantados no sistema

Figuras de desempenho

Nº de telefones

Tempo de uso na versão anterior à 11.5

Tempo gasto na versão 11.5

Hora de início do serviço

20000

3 minutos 38 segundos

0 minutos 19 segundos

Arquivos Servidos via HTTP

20000

7 minutos 24 segundos

4 minutos 06 segundos

Arquivos Servidos sobre TFTP

20000

5 minutos 36 segundos

4 minutos 11 segundos

Note: Os números acima não são apenas de uma execução de teste, mas são uma média de várias execuções de teste.

Análise de log:

Dispositivos usados:

CUCM versão 11.5.1.10000-6

Cisco IP Communicator versão 8.6.2

Solicitação de arquivo de configuração sobre HTTP em anterior à 11.5

Solicitação do telefone para o arquivo de configuração

00593088.000 |21:58:11.698 |AppInfo  |   TID[da900b70] HTTPEngine::getRequest(),

[0xa0d6c90~7~10.65.64.132~54462] INFO:: socket(12), ReqTimeout[60],

Request[GET /SEP000C29ED3D88.cnf.xml HTTP/1.1

Como todos os arquivos são armazenados em cache após a criação, o TFTP localiza o arquivo de configuração em cache

00593097.000 |21:58:11.698 |AppInfo  |CReqContext::FindAndServe(1)[0xa0d6c90~7~10.65.64.132~54462]

,[(SEP000C29ED3D88.cnf.xml),(6779),(0xf388c2a8)] found in config cache

O arquivo de configuração é atendido com êxito ao telefone

00593102.000 |21:58:11.698 |AppInfo  |   HTTPEngine::sendResponse[0xa0d6c90~7~10.65.64.132~54462]

FileName[SEP000C29ED3D88.cnf.xml], Version[HTTP/1.1], Size[6779]

00593103.000 |21:58:11.698 |AppInfo  |   HTTPEngine::sendResponse[0xa0d6c90~7~10.65.64.132~54462]

INFO:: [85][HTTP/1.1 200 OK

Solicitação de arquivo de configuração sobre HTTP em 11.5

Solicitação do telefone para o arquivo de configuração

00000510.003 |21:47:40.683 |AppInfo  |   HTTPConnection::wait_SdlDataInd Printing the HTTPRequest :

msgBuffer size [148] --: GET /SEP000C29ED3D88.cnf.xml HTTP/1.1

O processo ServeFile envia o sinal 'FileRequest' para ServeDynamicFile

00000511.010 |21:47:40.683 |AppInfo  |   ServeFile::wait_FileRequest Sending the

FileRequest signal to ProcessServeDynamicFile process

00000511.011 |21:47:40.683 |AppInfo  |<--ServeFile::wait_FileRequest

00000512.000 |21:47:40.683 |SdlSig   |FileRequest                            |wait

|ServeDynamicFile(1,600,25,1)     |ServeFile(1,600,24,1)            |1,600,14,4.3^*^*                         |*TraceFlagOverrode

Como o design sem cache é implementado, você vê que o TFTP cria o arquivo de configuração

00000512.027 |21:47:40.684 |AppInfo  |TFTPList::GetSupportsFMT(), Pkid[9e9cb809-df9f-4bce-8a41-37cd5f7e4d21] Name[SEP000C29ED3D88] Class[1] Product[30041] Model[30016] Protocol[0], DevProfile[0] SUPPORTs[2], Value[2]

00000512.028 |21:47:40.684 |AppInfo  |<--TFTPList::SelectByDeviceID[0,0]

00000512.029 |21:47:40.684 |AppInfo  |   ServeDynamicFile::wait_FileRequest

Build Config file for Device [SEP000C29ED3D88]

O processo ServeDynamicFile envia o sinal 'FileResponse' para ServeFile

00000512.091 |21:47:40.686 |AppInfo  |<--ServeDynamicFile::wait_FileRequest

00000513.000 |21:47:40.686 |SdlSig   |FileResponse                           |wait

|ServeFile(1,600,24,1)            |ServeDynamicFile(1,600,25,1)     |1,600,14,4.3^*^*                         |*TraceFlagOverrode

00000513.002 |21:47:40.686 |AppInfo  |   ServeFile::wait_FileResponse File

Response signal received by ServeFile process

O arquivo solicitado é enviado ao telefone

00000514.001 |21:47:40.686 |AppInfo  |-->HTTPConnection::wait_FileResponse

00000514.002 |21:47:40.686 |AppInfo  |   HTTPConnection::wait_FileResponse Requested

file FOUND... Sending file Response

00000514.003 |21:47:40.686 |AppInfo  |<--HTTPConnection::wait_FileResponse