Testando os limites do banco
A Progress executou uma série de testes para determinar a quantidade máxima de memória compartilhada que as releases Open Edge 10.1B e 10.1C conseguem alocar para uma única base de dados. Os testes foram feitos em Solaris, Linux, AIX, HP-UX, e UnixWare utilizando a versão 32 bits correspondente. O procedimento de teste iniciou pela carga do banco, seguiu com a execução de uma query simples que retornou os registros corretos, execução do PROMON que reportou as métricas corretas, e a derrubada sem problemas do banco.
A tabela abaixo descreve as condições de realização dos testes e a quantidade máxima de memória compartilhada que o gerenciador 32 bits do banco é capaz de alocar. As variáveis de teste incluem:
- A plataforma incluindo a arquitetura e a release do sistema operacional
- Informações da release OpenEdge instalada
- O tamanho do bloco do banco
- Os parâmetros de configuração utilizados na carga do banco
Apenas dois parâmetros de banco de dados foram utilizados nos testes : –B (buffer de memória do banco) e –shmsegsize(Tamanho do segmento de memória compartilhada). Foram utilizados os valores default para os parâmetros não informados na carga. A utilização do –B permite aumentar a utilização de memória compartilhada do banco de maneira rápida e eficiente, e o buffer é iniciado de maneira que toda a memória compartilhada seja utilizada.
O parâmetro –shmsegsize permite um meio mais eficiente de o sistema operacional alocar pequenos segmentos de memória compartilhada no espaço de endereçamento.
Ao manipular estes 2 parâmetros, a quantidade de memória compartilhada foi ajustada para cima e para baixo. O tamanho máximo de memória compartilhada alcançado é apresentado na tabela a seguir:
| Sistema Operacional e Hardware | OpenEdge Release | Informações de Banco & Parãmetros de Startup | Memória Compartilhada Alocada (apresentada pelo PROMON R&D/Status: Shared Resources) |
| Solaris 5.10 Sun Sparc - 64-bit 32 GB Ram | 32-bit OE 10.1C for Solaris 32-bit OE 10.1B for Solaris | 8K database block size –B 460000 –shmsegsize 512 –B 480000 –shmsegsize 512 | Total shared memory = 3,884 MB Total shared memory = 3,892 MB |
| Linux RH EL 4 U4 Intel x86 - 32-bit 1,010 MB Ram | 32-bit OE 10.1C for Linux 32-bit OE 10.1B for Linux | 8K database block size –B 346000 –shmsegsize 512 –B 347000 –shmsegsize 512 | Total shared memory = 2,807 MB Total shared memory = 2,810 MB |
| Windows 2003 Server Intel x86 - 32-bit 32 GB Ram Conexão ABL Client/server | 32-bit OE 10.1C for Windows 32-bit OE 10.1B for Windows | 4K database block size –B 406000 –shmsegsize 512 –B 420000 –shmsegsize 512 | Total shared memory = 1,711 MB Total shared memory = 1,746 MB |
| Windows 2003 Server Intel x86 - 32-bit 32 GB Ram Conexão ABL Self-Service | 32-bit OE 10.1C for Windows 32-bit OE 10.1B for Windows | 4K database block size –B 350000 –shmsegsize 256 –B 350000 –shmsegsize 256 | Total shared memory 1,477 MB Total shared memory 1,474 MB |
| AIX 5.2 IBM Power PC - 64-bit & IBM Power PC – 32-bit 32 GB Ram | 32-bit OE 10.1C for AIX 32-bit OE 10.1B for AIX | 8K database block size –B 340000 –shmsegsize 512 –B 345000 –shmsegsize 512 | Total shared memory = 2,763 MB Total shared memory = 2,801 MB |
| HP-UX 11.11 HP hp9000 – 64-bit PA_RISC 4 GB Ram | 32-bit OE 10.1C for HP-UX 32-bit OE 10.1B for HP-UX | 8K database block size –B 200000 –shmsegsize 256 –B 202000 –shmsegsize 256 | Total shared memory = 1,669 MB Total shared memory = 1,684 MB |
| Unixware 7.1.4 Intel x86 Pentium XEON 2 GB Ram | 32-bit OE 10.1C for Unixware 32-bit OE 10.1B for Unixware | 8K database block size –B 350000 –shmsegsize 512 –B 360000 –shmsegsize 512 | Total shared memory = 2,839 MB Total shared memory = 2,915 MB |
No próximo post comentarei em mais detalhes a configuração do parâmetro –shmsegsize.