Networking Performance Best Practices. Priscila Veiga Technical Account Manager May/2014

Documentos relacionados
Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

Monitoração de Desempenho de Redes Curso SCI/RNP. Ferramentas de Medição - Iperf NTP

Redes de Computadores_Marcelo Furtado Pratica 2- Qualidade de serviços

Administração de Sistemas Informáticos I

Memória cache. Prof. Francisco Adelton

SISTEMAS OPERACIONAIS

Entradas/Saídas. Programação por espera activa Programação por interrupções

Redes de Computadores. Protocolo TCP/IP Profa. Priscila Solís Barreto

Objetivo: demonstrar como configurar e testar uma comunicação entre PLC e PC através de drive Siemens (SIMATIC NET V1X) usando interface OPC.

Sistemas Operacionais de Redes. Aula: Gerenciamento de rede Professor: Jefferson Igor D. Silva

Sistema de arquivos. Dispositivos com tecnologias variadas. CD-ROM, DAT, HD, Floppy, ZIP SCSI, IDE, ATAPI,... sistemas de arquivos em rede

Redes de Computadores. Trabalho de Laboratório Nº7

Arquitetura TCP/IP. Parte XI Transporte orientado a conexão (TCP) Fabrízzio Alphonsus A. M. N. Soares

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

Maestro. Arthur Kazuo Tojo Costa Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação

Um retrospecto da aula passada... Um retrospecto da aula passada... Principais Aspectos de Sistemas Operacionais. Gerência de E/S

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.

CAPÍTULO 6 A CAMADA DE TRANSPORTE

Notas Técnicas: Configurar Comunicações Versão 1.0 de Português

Qualidade de Serviço de Vídeo em Redes de Dados. Instituto Superior Técnico Novembro de 2004

Curso de especialização em Teleinformática Disciplina Sistemas Distribuídos Prof. Tacla

Lab 4 Análise de Pacotes utilizando o TCPDUMP

armazenamento (escrita ou gravação (write)) recuperação (leitura (read))

Firewall Iptables. Professor: João Paulo de Brito Gonçalves. Campus - Cachoeiro Curso Técnico de Informática

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

Motherboard A7V133. Configuração do Hardware

Escalonamento no Linux e no Windows NT/2000/XP

Nota de Aplicação. Comunicação entre Vijeo Citect e duas CPU s através de um gateway Serial/Ethernet. Suporte Técnico Brasil. Versão: 1.

Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO

Prof. Dr. Valter Roesler: Universidade Federal do Rio Grande do Sul

Sistemas Operativos I

Técnicas de Desenvolvimento para Sistemas Real Time com LabVIEW

Windows NT 4.0. Centro de Computação

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores

Ficha de trabalho Redes locais

Projeto de Redes de Computadores. Projeto do Esquema de Endereçamento e de Nomes

Comunicação Fim-a-Fim a Alta Vede em Redes Gigabit

Sistemas Operacionais. Prof. André Y. Kusumoto

Resumo Apresentação : Orador

Homologação de Clientes de Videoconferência: Roteiro principal

A Camada de Transporte

Redes de Computadores II

TRANSMISSÃO DE DADOS

Gerenciamento de memória virtual no Kernel Linux conceitos básicos

REDES DE COMPUTADORES

Camada de Transporte, protocolos TCP e UDP

Notas de versão do cliente Fiery Network Controller para Xerox WorkCentre 7800 Series, versão 1.0

Sistemas Operacionais 2014 Sistema de E/S. Alexandre Augusto Giron

Configuração de redes no Gnu/Linux

Universidade Federal do Rio de Janeiro Pós-Gradução em Informática. Microarquiteturas de Alto Desempenho. Multithreading. Gabriel P. Silva.

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

2 Controle de Congestionamento do TCP

Epson Professional Imaging Gerenciamento de cores

Uma Ferramenta Essencial! Prof. Fred Sauer, D.Sc.

TREINAMENTO DE COMUNICAÇÃO DE DADOS EXERCÍCIO PRÁTICO 1 TRÁFEGO ETHERNET COM ETHEREAL NETWORK ANALYSER

ARQUIVOS DE CONFIGURAÇAO ZIM 8.50

Laboratório Estabelecendo uma Conexão de Console para um Roteador ou Switch

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, TCP: nos. de seq. e ACKs. TCP: estrutura do segmento. TCP: Tempo de Resposta (RTT) e Temporização

GUIA LAB I - REDES DE COMPUTADORES / ECO008 PROF. ISAÍAS LIMA INICIANDO O ROTEADOR MODO DE SETUP

Gerência de Redes de Computadores. 05 Gerência de Hospedeiros (Hosts)

Gerenciamento de memória

Processos e Threads (partes I e II)

3. Faça uma breve descrição sobre a topologia da rede e o Active Directory-AD DISCIPLINA DE ARQUITETURA FECHADA WINDOWS SERVER

Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)

Gerência de Memória. Paginação

Mecanismo de Acesso ao Meio: Introdução

UNIVERSIDADE. Sistemas Distribuídos

Rede Wireless ou rede cabeada?

Tela Azul da Morte: o que é e como resolver Descubra o que pode causar esse travamento do Windows com a ajuda de programas gratuitos

Relatório 1º Laboratório: O Java e os Sockets. Licenciatura: ETI Turma : ETC1 Grupo : rd3_t3_02 Data: 22/02/2010

MINISTÉRIO DA EDUCAÇÃO

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Aula 2 Servidor DHCP. 2.1 dhcp

Sistemas Operativos. Gestão de memória. Rui Maranhão

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

REDES DE COMPUTADORES. Departamento de Informática da Faculdade de Ciências e Tecnologia da UNL 2008 / 2009

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Escalonamento de CPU 2 Quadrimestre

D4600 Duplex Photo Printer

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário


Daniel Sucupira Lima. TCP Veno

UPGRADES. Uma das melhores características do PC é o facto de ser uma arquitectura aberta, que permite a substituição de componentes com facilidade.

Camada Transporte Parte 2. Prof. Dr. S. Motoyama

Redes Ponto a Ponto. Os drivers das placas de rede devem estar instalados.

Documentação Symom. Agente de Monitoração na Plataforma Windows

Estrutura de um Computador

Introdução à estrutura e funcionamento de um Sistema Informático

KTC-DR23EC & KTC-HT23-EC1000

Neste tópico, abordaremos a funcionalidade de segurança fornecida com o SAP Business One.

Transcrição:

Networking Performance Best Practices Priscila Veiga Technical Account Manager May/2014 1

Networking Performance Best Practices Você vai sair dessa discussão com: Entendimento de algumas questões que afetam o desempenho da rede no servidor. Ferramentas que irão lhe ajudar a avaliar a performance da sua rede. Algumas diretrizes para testar no seu ambiente. 2

Avisos Não há recomendações sobre um fabricante ou outro. Não assuma que as configurações mostradas aqui irão funcionar para você sem alguns ajustes. Sempre experimente para encontrar o que funciona melhor para seu ambiente. Para isso use a homologação antes de aplicar na produção. 3

Agenda Por quê? Conceitos básicos: PCI, NUMA, CPU, Kernel Sysctl: Lidando com a janela, A memória, Reduzindo time_wait Ferramentas de investigação: ifconfig, netstat, ethtool, ss Ferramentas de tuning: ethtool, tuned 4

5 Por quê?

Conceitos básicos - PCI Velocidade do slot 10Gb precisa de 8x Ao menos uma Gen2 Multiplos barramentos Procure saber se o slot está amarrado a um node NUMA específico. Conheça os vínculos Distribua a carga Ferramenta: 'setpci' Complicado e perigoso 6

Conceitos básicos - CPU Layout de cache Muda a cada geração: Nem sempre precisa-se de grande um grande cache. O ideal é manter o cache sempre em uso Hyperthread Latency sensitive provavelmente melhor não Aplicações que usam muito I/O possívelmente sim 7

Conceitos básicos CPU Múltiplos cores Frequências variaveis Power management (nem sempre seu amigo) Power saving (cpuspeed governors) Performance Ondemand entropy issue Powersave 8

Conceitos básicos O que é NUMA? Non- Uniform Memory Access 9

Conceitos básicos Hyperthreading e NUMA 10

Conceitos básicos NUMA Tenta usar os CPUs que estão idle sem considerar onde o processo de memória está alocado. O acesso a memoria não local tem maior latência, o que pode degradar a performance. Comandos: numastat numactl # numactl -N1 -m1./command numad Balanceamento automático Em testes no RHEL6.4 11

Conceitos básicos Kernel Use TCP_NODELAY na sua aplicação Garanta que os kernel buffers estão com o tamanho adequado Use ss (Recv-Q Send-Q) Não use 'setsockopt' pois ele degrada o desempenho. getsockopt agora suportando TCP thin-streams Reduz a latência de retransmissões de pacotes perdidos em aplicações time-sensitive. 12

Conceitos básicos Kernel (novas funcionalidades) Receive Flow Steering (RFS) Permite otimizar a CPU para receber dados de rede para uma aplicação específica. The goal of RFS is to increase CPU cache hitrate by steering kernel processing of packets to the CPU where the application thread consuming the packet is currently running - thereby reducing network latency O número de entradas na tabela global de fluxo: /proc/sys/net/core/rps_sock_flow_entries O número de entradas por fila na tabela de fluxo: 13 /sys/class/net/<dev>/queues/tx-<n>/rps_flow_cnt

Conceitos básicos Kernel (novas funcionalidades) Receive Packet Steering (RPS) Quebra o gargalo tento a fila de recebimento da NIC em uma única CPU A lista de CPUs para cada RPS deve encaminhar o trafego pode ser configurada para cada dispositivo e fila de recebimento: /sys/class/net/<dev>/queues/rx-<n>/rps_cpus Útil para single-queue ou device com poucas filas. NUMA não pode ser um problema. 14

Kernel RPS & RFS 15

Sysctl Lidando com a janela net.ipv4.tcp_rmem - TCP read buffer - in bytes Default 87380 = 64k window Anulado pelo core.rmem_max net.ipv4.tcp_wmem - TCP write buffer - in bytes Anulado pelo core.wmem_max net.ipv4.tcp_mem - TCP buffer space Em paginas não bytes tcp_window_scaling tcp_app_win Tamanho máximo de janela para buffer de app. (default 31) tcp_adv_win_scale Contador de buffering overhead (default 1, min -31, max +31) 16

Sysctl A memória net.core.(r/w)mem_max max size of (r/w)x socket buffer net.core.(r/w)mem_default default (r/w)x size of socket buffer net.core.optmem_max maximum amount of option memory buffers net.core.netdev_max_backlog how many unprocessed rx packets before kernel starts to drop them UDP também é impactado! 17

Reduzindo time_wait tcp_max_tw_buckets Número máximo de sockets abertos em time_wait. tcp_tw_reuse Permite o re-uso de sockets em time_wait para novas conexões. tcp_tw_recycle Habilita a reciclagem mais rápida do socket. Requer habilitar o tcp_timestamps tcp_keepalive_intvl tcp_keepalive_time 18

Investigação - ifconfig Ifconfig RX / TX Errors netstat -s Dropped ethtool -S Overruns ==> NIC ring buffer size Frame ethtool -S ==> crc_errors ==> duplex errado no switch 19

Investigação - netstat netstat -taupen TCP UDP Program Extendida (user) Endereço numérico (evita delay por tentativa de resolução de nomes) 20

Investigação - netstat netstat -s Retransmited segments Resets UDP buffer errors TCP sockets finished time wait in fast timer delayed acks sent congestion windows Fast retransmission TCP timeout SACK / DSACK 21

Investigação - ethtool ethtool -S <interface> Cada driver tem suas próprias estatísticas Kernel-source-browser rx_dropped rx_errors rx_crc_errors tx_fragments csum_offload 22

Investigação - ss ss Connection state Recv-Q ==> habilitar o reuso, encurtar o keepalive Send-Q ==> gargalo do outro lado? -t = TCP -n = numeric -u = UDP 23

Tuning - ethtool Offloading features ethtool -k <interface> Para verificar ethtool -K <interface> <feature> <on/off> Para definir Implementação no driver/fw de cada NIC Algoritmos variam entre os fabricantes Suportabilidade depende da versão do driver 24

Tuning - ethtool 25

Tuning - tuned 26

Tuning - tuned 27

Referências Make the NICs Move! Jeremy Eder - Principal Performance Engineer, Red Hat http://rhsummit.files.wordpress.com/2013/07/eder_make_the_nic s_move.pdf Achieving Top Network Performance Mark Wagner - Principal Engineer, Red Hat Inc. http://rhsummit.files.wordpress.com/2012/03/wagner_network_pe rf.pdf#page=10&zoom=auto,-31,483 What is Receive Flow Steering (RFS), and how do I configure it in RHEL? https://access.redhat.com/site/solutions/62885 What is Receive Packet Steering (RPS), and how do I configure it in RHEL? 28 https://access.redhat.com/site/solutions/62869

Dúvidas, comentários: priscila@redhat.com OBRIGADA!!! 29