![ActiveDelphi - Índice do Fórum](templates/subSilver/images/logo_phpBB.gif) |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
maboxis Membro Junior
![Membro Junior Membro Junior](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star3.gif)
![](images/avatars/3221051e9ed7a113b5.jpg)
Registrado: Quarta-Feira, 13 de Abril de 2011 Mensagens: 333
|
Enviada: Qua Jul 24, 2013 9:43 pm Assunto: Conexões ao banco limitada. (RESOLVIDO) |
|
|
Boa noite companheiros, criei um sistema com uma tela de login só que devido ao banco de dados ficar em um computador normal ele teria conexões limitadas?
No caso, se tivermos muitas conexões abertas simultaneamente, quando abrimos o sistema ele informa que não houve conexão com banco de dados,
teria alguma forma desse "computador servidor" ter conexões ilimitadas, como proceder nesse caso?
OBS: A conexão do banco é feita através de um arquivo INI.
Eu uso os seguintes componentes:
1 - SqlConnection
1 - SQLQuery
1 - DataSetProvider
1 - ClientDataSet
1 - DataSource
E o banco é FIREBIRD 2.5
Agradeço desde já a todos pela ajuda.
Editado pela última vez por maboxis em Sex Jul 26, 2013 5:28 am, num total de 1 vez |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
builder_rs Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
![](images/avatars/995450763c5a43906.jpg)
Registrado: Quarta-Feira, 26 de Dezembro de 2007 Mensagens: 88
|
Enviada: Qui Jul 25, 2013 12:12 am Assunto: |
|
|
O número de conexões simultâneas é determinado pela capacidade do hardware e do sistema operacional e não somente pelo banco de dados.
A estabilidade do banco de dados também dependerá de itens básicos: Hardware de boa qualidade e dimensionado para atender aos picos de demanda, no-break (incluindo rotinas de testes para averiguar se esta funcionando adequadamente), pessoal capacitado para gerenciar o servidor, rotinas de backup e políticas de segurança.
Não aconselho promover um computador desktop para a função de servidor. Estas adaptações para contentar o cliente e cortar custos, tem 99,99% de chance para ser uma fonte de dor de cabeça, pois o defeito vai aparecer no seu sistema (e a causa estará no ambiente inadequado).
Algumas dicas:
- Sistema operacional próprio para a função de servidor (CentOS Linux 64bits, Windows Server 64bits, ...);
- Partição exclusiva para os arquivos do banco de dados e somente acessada pelo DBA. Quando não é feito assim, corre-se o risco de corromper a base de dados, seja pelo acesso direto/indevido pelo usuário ou porque alguém esgotou o espaço na partição ao "colar arquivos de relevância duvidosa";
- Servidor deverá ser dedicado (usuário não toca, não faz reset, não mata processos, não desliga, não tira o sistema do ar enquanto os outros estão utilizando, não sobrecarrega a máquina rodando trezentas aplicações ou copiando milhares de arquivos);
- Servidor deverá ter RAID-1 (o custo de ter 2 HD's hoje é irrelevante, considerando que algo em torno de 70% das falhas tem origem no hardware);
- Firebird 64 bits deverá rodar no modo Classic Server. Uma conexão problemática não irá derrubar as demais conexões;
- Firebird deverá ser executado como um serviço. Se rodar como aplicação estará sujeito as ações do usuário;
- Processo de backup adequado. Isto significa: Jamais copiar fisicamente os arquivos da base de dados com o SGBD sendo executado;
- Processo de restauração de backup adequado. O Backup deve ser restaurado em uma máquina de testes/servidor reserva para verificar se realmente esta funcional. Ter cópias do backup de diferentes dias e armazenar fora da empresa, são políticas para evitar perdas por roubo de equipamentos, incêndio, demora na detecção do problema, ... Haviam empresas nas torres gêmeas com excelentes medidas de proteção de dados e sistemas de backup, mas com a tragédia que ocorreu, guardar backups em locais diferentes passou a fazer parte da rotina, afinal, computador se compra em muitos lugares, mas e os dados ?;
- Construa sua aplicação para retornar sempre o menor número de registros possíveis, resultando em um baixo consumo de memória e tráfego de rede. Nenhum usuário "normal" vai conseguir analisar 10.000 registros na grade de dados;
- Utilize somente componentes de acesso a base de dados 100% compatíveis com a versão do Firebird escolhida;
- Memória RAM dimensionada para atender ao máximo de consumo previsto do banco de dados (consumo de uma conexão x número máximo de conexões), mais o necessário para o próprio sistema operacional e outros aplicativos que sejam executados (projetar um cenário de consumo máximo de memória simultaneamente). Toda a vez que o servidor tiver que fazer uso de SWAP (usar parte do HD como memória RAM porque esta foi esgotada), o sistema ficará lento;
- Utilize sempre a versão mais atual da série escolhida do Firebird, por exemplo: Na série 2.5.x a versão mais atual ao escrever esta resposta é 2.5.2.26540. Os updates dentro de uma série corrigem defeitos/falhas e não afetam o ODS (On Disc Structure) da base de dados;
- A configuração do número máximo de conexões é feita de acordo com o sistema operacional e o modo de execução escolhido para o Firebird. Por exemplo: CentOS 4.8 Linux 64bits e Firebird modo Classic Server, os ajustes são feitos no arquivo de configuração do xinetd (extended Internet daemon) localizado em /etc/xined.conf nas variáveis instances e per_source.
Acredito que, embora seja mais trabalhoso e tenha maior custo manter um esquema de contenção/recuperação de desastres, será sempre melhor do que chegar para o cliente e dizer: Não tem o que fazer, perdeu tudo.
Referências - Livros :
- Firebird - Dicas de Segurança - Luiz Paulo de O. Santos
- Dominando o Firebird - Helen Borrie
- Programação Cliente/Servidor com Firebird - Carlos Alberto Pedroso Araújo
- Firebird Essencial - Carlos H. Cantú
- Firebird 2.0 - Carlos H. Cantú
Sites - Links:
http://www.firebirdsql.org/
http://tracker.firebirdsql.org/secure/Dashboard.jspa
http://www.firebirdnews.org/
http://www.firebirdfaq.org/
http://www.firebase.com.br/
http://dyemanov.blogspot.com.br/
Abraços,
Anderson:. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
maboxis Membro Junior
![Membro Junior Membro Junior](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star3.gif)
![](images/avatars/3221051e9ed7a113b5.jpg)
Registrado: Quarta-Feira, 13 de Abril de 2011 Mensagens: 333
|
Enviada: Qui Jul 25, 2013 3:58 am Assunto: |
|
|
builder_rs escreveu: | O número de conexões simultâneas é determinado pela capacidade do hardware e do sistema operacional e não somente pelo banco de dados.
A estabilidade do banco de dados também dependerá de itens básicos: Hardware de boa qualidade e dimensionado para atender aos picos de demanda, no-break (incluindo rotinas de testes para averiguar se esta funcionando adequadamente), pessoal capacitado para gerenciar o servidor, rotinas de backup e políticas de segurança.
Não aconselho promover um computador desktop para a função de servidor. Estas adaptações para contentar o cliente e cortar custos, tem 99,99% de chance para ser uma fonte de dor de cabeça, pois o defeito vai aparecer no seu sistema (e a causa estará no ambiente inadequado).
Algumas dicas:
- Sistema operacional próprio para a função de servidor (CentOS Linux 64bits, Windows Server 64bits, ...);
- Partição exclusiva para os arquivos do banco de dados e somente acessada pelo DBA. Quando não é feito assim, corre-se o risco de corromper a base de dados, seja pelo acesso direto/indevido pelo usuário ou porque alguém esgotou o espaço na partição ao "colar arquivos de relevância duvidosa";
- Servidor deverá ser dedicado (usuário não toca, não faz reset, não mata processos, não desliga, não tira o sistema do ar enquanto os outros estão utilizando, não sobrecarrega a máquina rodando trezentas aplicações ou copiando milhares de arquivos);
- Servidor deverá ter RAID-1 (o custo de ter 2 HD's hoje é irrelevante, considerando que algo em torno de 70% das falhas tem origem no hardware);
- Firebird 64 bits deverá rodar no modo Classic Server. Uma conexão problemática não irá derrubar as demais conexões;
- Firebird deverá ser executado como um serviço. Se rodar como aplicação estará sujeito as ações do usuário;
- Processo de backup adequado. Isto significa: Jamais copiar fisicamente os arquivos da base de dados com o SGBD sendo executado;
- Processo de restauração de backup adequado. O Backup deve ser restaurado em uma máquina de testes/servidor reserva para verificar se realmente esta funcional. Ter cópias do backup de diferentes dias e armazenar fora da empresa, são políticas para evitar perdas por roubo de equipamentos, incêndio, demora na detecção do problema, ... Haviam empresas nas torres gêmeas com excelentes medidas de proteção de dados e sistemas de backup, mas com a tragédia que ocorreu, guardar backups em locais diferentes passou a fazer parte da rotina, afinal, computador se compra em muitos lugares, mas e os dados ?;
- Construa sua aplicação para retornar sempre o menor número de registros possíveis, resultando em um baixo consumo de memória e tráfego de rede. Nenhum usuário "normal" vai conseguir analisar 10.000 registros na grade de dados;
- Utilize somente componentes de acesso a base de dados 100% compatíveis com a versão do Firebird escolhida;
- Memória RAM dimensionada para atender ao máximo de consumo previsto do banco de dados (consumo de uma conexão x número máximo de conexões), mais o necessário para o próprio sistema operacional e outros aplicativos que sejam executados (projetar um cenário de consumo máximo de memória simultaneamente). Toda a vez que o servidor tiver que fazer uso de SWAP (usar parte do HD como memória RAM porque esta foi esgotada), o sistema ficará lento;
- Utilize sempre a versão mais atual da série escolhida do Firebird, por exemplo: Na série 2.5.x a versão mais atual ao escrever esta resposta é 2.5.2.26540. Os updates dentro de uma série corrigem defeitos/falhas e não afetam o ODS (On Disc Structure) da base de dados;
- A configuração do número máximo de conexões é feita de acordo com o sistema operacional e o modo de execução escolhido para o Firebird. Por exemplo: CentOS 4.8 Linux 64bits e Firebird modo Classic Server, os ajustes são feitos no arquivo de configuração do xinetd (extended Internet daemon) localizado em /etc/xined.conf nas variáveis instances e per_source.
Acredito que, embora seja mais trabalhoso e tenha maior custo manter um esquema de contenção/recuperação de desastres, será sempre melhor do que chegar para o cliente e dizer: Não tem o que fazer, perdeu tudo.
Referências - Livros :
- Firebird - Dicas de Segurança - Luiz Paulo de O. Santos
- Dominando o Firebird - Helen Borrie
- Programação Cliente/Servidor com Firebird - Carlos Alberto Pedroso Araújo
- Firebird Essencial - Carlos H. Cantú
- Firebird 2.0 - Carlos H. Cantú
Sites - Links:
http://www.firebirdsql.org/
http://tracker.firebirdsql.org/secure/Dashboard.jspa
http://www.firebirdnews.org/
http://www.firebirdfaq.org/
http://www.firebase.com.br/
http://dyemanov.blogspot.com.br/
Abraços,
Anderson:. |
Opa amigo, obrigado, porém acredito que não tenha muitos acessos mais que 10 acessos...
OBS: Será que seria alguma restrinção de rede na permissão de conexões simultaneas?
Concordo com o que você disse acima, porém acho que por 10 usuários não iria sobrecarregar o servidor, ou estaria errado? |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
builder_rs Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
![](images/avatars/995450763c5a43906.jpg)
Registrado: Quarta-Feira, 26 de Dezembro de 2007 Mensagens: 88
|
Enviada: Qui Jul 25, 2013 9:01 am Assunto: |
|
|
O correto é estabelecer um número máximo de conexões simultâneas para fazer o cálculo de consumo da RAM.
A restrição ocorre em geral devido as configurações do sistema operacional, a menos que tenha um firewall e/ou switch gerenciável que esteja fazendo algum tipo de bloqueio (limitando a vasão do tráfego de rede por exemplo).
10 usuários podem sim sobrecarregar o servidor se este não for adequado, é só ter um hardware com configuração inferior ao necessário e/ou sistema operacional impróprio para a função.
Você pode simplificar todo este processo, fazendo uma lista de possíveis problemas e selecionar somente aqueles que deseja ter medidas proativas. Quando o problema X ocorrer, já saberá por antecedência a extensão dos danos e o que poderá ou não ser feito.
Lembre-se de que medidas de contenção de se aplicam a qualquer SGBD onde se deseja alcançar um bom funcionamento e minimizar riscos de perder informações.
Qual é o sistema operacional (Nome, versão, 32 ou 64 bits) ?
Qual o número completo da versão do Firebird e o modo de execução ?
Abraços,
Anderson:. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
maboxis Membro Junior
![Membro Junior Membro Junior](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star3.gif)
![](images/avatars/3221051e9ed7a113b5.jpg)
Registrado: Quarta-Feira, 13 de Abril de 2011 Mensagens: 333
|
Enviada: Qui Jul 25, 2013 11:24 am Assunto: |
|
|
builder_rs escreveu: | O correto é estabelecer um número máximo de conexões simultâneas para fazer o cálculo de consumo da RAM.
A restrição ocorre em geral devido as configurações do sistema operacional, a menos que tenha um firewall e/ou switch gerenciável que esteja fazendo algum tipo de bloqueio (limitando a vasão do tráfego de rede por exemplo).
10 usuários podem sim sobrecarregar o servidor se este não for adequado, é só ter um hardware com configuração inferior ao necessário e/ou sistema operacional impróprio para a função.
Você pode simplificar todo este processo, fazendo uma lista de possíveis problemas e selecionar somente aqueles que deseja ter medidas proativas. Quando o problema X ocorrer, já saberá por antecedência a extensão dos danos e o que poderá ou não ser feito.
Lembre-se de que medidas de contenção de se aplicam a qualquer SGBD onde se deseja alcançar um bom funcionamento e minimizar riscos de perder informações.
Qual é o sistema operacional (Nome, versão, 32 ou 64 bits) ?
Qual o número completo da versão do Firebird e o modo de execução ?
Abraços,
Anderson:. |
Boa dia, hoje a noite, responderei todas suas perguntas, no momento não estou próximo do servidor.
Agradeço a atenção desde já e até a noite.
Obrigado! |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
maboxis Membro Junior
![Membro Junior Membro Junior](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star3.gif)
![](images/avatars/3221051e9ed7a113b5.jpg)
Registrado: Quarta-Feira, 13 de Abril de 2011 Mensagens: 333
|
Enviada: Qui Jul 25, 2013 7:52 pm Assunto: |
|
|
builder_rs escreveu: | O correto é estabelecer um número máximo de conexões simultâneas para fazer o cálculo de consumo da RAM.
A restrição ocorre em geral devido as configurações do sistema operacional, a menos que tenha um firewall e/ou switch gerenciável que esteja fazendo algum tipo de bloqueio (limitando a vasão do tráfego de rede por exemplo).
10 usuários podem sim sobrecarregar o servidor se este não for adequado, é só ter um hardware com configuração inferior ao necessário e/ou sistema operacional impróprio para a função.
Você pode simplificar todo este processo, fazendo uma lista de possíveis problemas e selecionar somente aqueles que deseja ter medidas proativas. Quando o problema X ocorrer, já saberá por antecedência a extensão dos danos e o que poderá ou não ser feito.
Lembre-se de que medidas de contenção de se aplicam a qualquer SGBD onde se deseja alcançar um bom funcionamento e minimizar riscos de perder informações.
Qual é o sistema operacional (Nome, versão, 32 ou 64 bits) ?
Qual o número completo da versão do Firebird e o modo de execução ?
Abraços,
Anderson:. |
Então, o sistema operacional é:
Windows Xp Professional, Versão 2002, Service Pack 3.
Versão do FireBird é:
Firebird 2.5.2.26540 (Win32) |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
builder_rs Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
![](images/avatars/995450763c5a43906.jpg)
Registrado: Quarta-Feira, 26 de Dezembro de 2007 Mensagens: 88
|
Enviada: Qui Jul 25, 2013 10:34 pm Assunto: |
|
|
O Windows XP Professional não é apropriado para a função de servidor (não foi projetado para isto). O limite de conexões simultâneas no XP foi implementado a partir do service pack 1, como medida de segurança. Existem programas que alteram este limite, mas são soluções Não Oficiais e portanto, sem qualquer garantia de sucesso e/ou efeitos colaterais.
Abraços,
Anderson:. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
maboxis Membro Junior
![Membro Junior Membro Junior](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star3.gif)
![](images/avatars/3221051e9ed7a113b5.jpg)
Registrado: Quarta-Feira, 13 de Abril de 2011 Mensagens: 333
|
Enviada: Sex Jul 26, 2013 5:10 am Assunto: |
|
|
builder_rs escreveu: | O Windows XP Professional não é apropriado para a função de servidor (não foi projetado para isto). O limite de conexões simultâneas no XP foi implementado a partir do service pack 1, como medida de segurança. Existem programas que alteram este limite, mas são soluções Não Oficiais e portanto, sem qualquer garantia de sucesso e/ou efeitos colaterais.
Abraços,
Anderson:. |
Amigo obrigado por todas as explicações, serviram como aprendizado e irei tentar providenciar junto a empresa um servidor.
Porém o meu caso foi outro, o técnico me relatou em um e-mail quando tinha muitas máquinas abertas com o sistema que dava erro de não ser possível conectar o banco, porém descobri que se tratava de um outro erro ao realizar testes, na verdade ele estava usando um executável de fase teste e no exe tinha um caminho de uma máquina que não existe mais. Resumindo, compilei meu sistema e fui realizar testes em 10 máquinas ao mesmo tempo e funcionou 100%, sei que a medida q o sistema for crescendo vai precisar de algo melhor, por isso foi de grande importância essas dicas suas pra mim, agradeço, muito obrigado.
Tópico resolvido. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|