惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
月光博客
月光博客
爱范儿
爱范儿
阮一峰的网络日志
阮一峰的网络日志
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
U
Unit 42
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
V
Visual Studio Blog
腾讯CDC
IT之家
IT之家

Proxmox Support Forum

[SOLVED] - Github Auth for Mirrors-Kernel Repo? [Automation] Mass migration tool for MS Win11/Server Proxmox GUI hang - not response is it possible to reject or quarantine spam based on conditions I set ? The PVENode task list in PVE9 is partially obscured due to the terminal font being too large. About 100% error reporting due to pveproxy.service hooks Kubernetes overlay networking breaks when upgrading from PVE 9.1 to PVE 9.2.3 Zentraler Speicher No space left on device Combine datastore and direct file archival to tape Kernel panic VFS: Unable to mount root fs on unknown-block (0,0) sobald ein 7.x Kernel verwendet wird. How to migrate disk of a VM from one ZFS to another Windows Server 2025 fails to boot after PVE 9.2 / Linux 7.0 Kernel upgrade Cannot Install Proxmox on T610 Poweredge with H700 PERC card sdn Config. gateway not reachable How to safely change domain/FQDN? Welche Filterquote erreicht ihr? NFS Share status unknown on 2 of 5 nodes Can't connect to PVE9 consoles [solved] Can't connect to PVE9 consoles [solved] [SOLVED] - Use secondary network for PVE commands Created cluster, one node storage gone BUG: proxmox mail gateway FROM = null bypass spam filtering Moving existing PBS from VMWare workstation to PVE cluster Does eBGP SDN fabric support external peering? Bug: PDM 1.1 not recognizing valid license status Proxmox GUI hang - not response PVE crashes unexpectedly Proxmox Backup Server 4.2 released! Advice
VM optimization to malloc
invalid@exam · 2026-06-12 · via Proxmox Support Forum

Bom dia pessoal, fiz questão de voltar aqui pra poder concluir o diagnóstico com vocês. Espero que isso ajude outras pessoas.
Vamos lá, conforme comentei no dia Jun 11, 2026 auditei o código de Malloc que a Totvs fornece, e conclui que aquele código testa mais poder de processamento single thread do que qualquer outra coisa.
Esse código fornecido pela Totvs não faz testes confiáveis de alocação de memória nem leitura/escrita em disco, como teste fio faz.

Nosso servidor com Raid 10 SSD, controladora com cache e memória ram sobrando, sempre retornou resultados ruins mesmo com windows server instalado em baremetal no servidor, esse resultado do malloc sempre foi ruim, porém o Protheus performava.

Após a mudança de baremetal para virtualização promox (usando VMs Oracle Linux) o teste de malloc começou apresentar resultados péssimos (antes era ruim), e realmente o Protheus não estava performando depois de mudar de baremetal para proxmox + vm oracle linux.

A diferença é que antes o SO rodava em baremetal, e o promox, querendo ou não, criou uma camada de abstração entre o SO do Protheus (VM) e o Hardware.

Nosso servidor tinha 2 CPU Intel Xeon Silver 4114 de 2.2GHz, na documentação atual da Totvs eles dizem que o clock base mínimo é de 2.3GHz, bem, com isso em mãos, compramos outros processadores e colocamos 2 CPU Intel Xeon Gold 5215 de 2.50GHz, ou seja, 0.200GHz a mais que o mínimo recomendado pela Totvs e 0.300GHz a mais do que tínhamos.

Após a troca do processador o sistema já começou a performar. Abaixo coloquei os resultados do teste malloc após a troca do processador, os resultados saltaram de péssimos para ótimos conforme evidenciado.

Para ajudar o pessoal mais um pouco com esse tipo de analise, eu tinha feito o seguinte teste antes de comprar/trocar o processador. Habilitei o log do postgresql para salvar todas as querys executadas no banco, entrei no sistema na rotina de cadastro de produtos, sistema demorava 18 segundos totais para abrir a tela, ao analisar o log do banco, vi que todas as querys gastavam um total de 4 segundos para serem executadas, ou seja, os outros 14 segundos eram gastos pelo Appserver+DbAccess. Com isso, identificamos que o banco estava performando corretamente, não havia mais nada de tunning para fazer no banco.
Trocamos o processador e o tempo gasto pelo Protheus começou a ser de 4 segundos. Ou seja o banco manteve 4 segundos de retorno mais 4 segundos do Protheus, somando total de 8 segundos. Foi uma queda de 18 segundos para 8 segundos totais em uma abertura de tela.

Uma observação importante é que mesmo que seu processador não esteja mostrando picos de processamento, ele ainda pode ser o culpado, nos meus testes o processador batia 15% de processamento nos momentos de pico, ou seja, aos olhos não tinha nada errado com processador quando se analisava somente o pico de processamento.

A conclusão final é que o Protheus (Appserver/Dbacces) para performar precisa de clock base alto em single thread, não adianta só configurar proxmox deixando processador como host, dar memória ram ou usar cache de writeback. Se o clock base do processador não for alto o sistema não vai performar e os testes do malloc nunca darão resultados bons.

Resultados do malloc após a troca do processador com clock mais alto

Bash:

./mallocio-linux-1.2.0-x86_64
Path - ./ | File - output.json
  __  __    _    _     _     ___   ____     ___ ___ 
 |  \/  |  / \  | |   | |   / _ \ / ___|   |_ _/ _ \
 | |\/| | / _ \ | |   | |  | | | | |   _____| | | | |
 | |  | |/ ___ \| |___| |__| |_| | |__|_____| | |_| |
 |_|  |_/_/   \_\_____|_____\___/ \____|   |___\___/
                                               1.2.0 x86_64
                                                  
 
 
 
TESTE 1
ALOCANDO BLOCO DE MEMORIA
 
TEMPO LEVADO PARA ALOCAR MEMORIA: 4.000000 segundos
 
RESULTADO DO TESTE: Otimo -> RECOMENDADO PARA O PROTHEUS
 
 
TESTE 2
ESCRITA EM DISCO
 
TEMPO LEVADO PARA REALIZAR A ESCRITA EM DISCO: 1.000000 segundos
 
 
 
TESTE 3
LEITURA EM DISCO
 
TEMPO LEVADO PARA REALIZAR A LEITURA EM DISCO: 6.000000 segundos
 
RESULTADO DO TESTE: Otimo -> RECOMENDADO PARA O PROTHEUS
 
 
 ***********************************************************************
 
 TABELA DE REFERENCIA - ALOCAR BLOCO DE MEMORIA
 
Otimo   - ate 10.000000 segundos (RECOMENDADO PARA O PROTHEUS)
Bom     - ate 15.000000 segundos (NAO recomendado para o Protheus)
Ruim    - ate 25.000000 segundos (NAO recomendado para o Protheus)
Pessimo -   + 25.000000 segundos (NAO recomendado para o Protheus)
 
 TABELA DE REFERENCIA - LEITURA EM DISCO
 
Otimo   - ate 10.000000 segundos (RECOMENDADO PARA O PROTHEUS)
Bom     - ate 25.000000 segundos (NAO recomendado para o Protheus)
Ruim    - ate 26.000000 segundos (NAO recomendado para o Protheus)
Pessimo -   + 26.000000 segundos (NAO recomendado para o Protheus)

Atenciosamente.
Súlivan Simões

  • 1782917050942.png

    1782917050942.png

    67.5 KB · Views: 1