Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

De que depende a velocidade de consulta e inserção do banco de dados?


Para fazer uma comparação aproximada:o registro de benchmark TPC-C para SQL Server está em torno de 1,2 mil transações por minuto, e tem sido assim nos últimos 4 anos ou mais (limitado pelo limite de 64 CPU OS). Isso é algo como ~ 16 mil transações por segundo . Isso é em máquinas super high-end, 64 CPUs, muita RAM, clientes affinitizados por nó NUMA e um sistema de E/S curto de servidor (apenas cerca de 1-2% de cada eixo é usado). Lembre-se de que são transações TPC-C, portanto, consistem em várias operações (acho que são 4-5 leituras e 1-2 gravações cada uma em média).

Agora, você deve reduzir esse hardware de primeira linha para sua implantação real e obterá a estimativa de onde definir suas expectativas para o processamento de transações OLTP geral .

Para upload de dados, o atual recorde mundial é sobre 1 TB em 30 minutos (se ainda estiver atual...). Várias dezenas de milhares de inserções por segundo são bastante ambiciosas, mas alcançáveis, quando feitas corretamente em hardware sério. O artigo no link contém dicas e truques para ETL alto troughput (por exemplo, usar vários fluxos de upload e afiná-los para nós NUMA).

Para a sua situação, aconselho em primeiro lugar medir então você descobre os gargalos e então pergunta específico perguntas sobre como resolver gargalos específicos. Um bom ponto de partida é o Documento de esperas e filas .