... só no continente, como dizia a publicidade, mas de facto tenho estado mais ocupado com um assunto que ando a preparar para depois publicar aqui qualquer coisa... tem a ver com a medição de performance de sistemas...
Já agora, acrescentei também um link para quem necessitar de ajuda com algum projecto que tenha em mãos... façam favor de contactar para tratar das formalidades :)
Fiquem bem que já é tarde !
2007-05-29
2007-05-19
Velocidades II
Boa noite,
Antes de mais, quero agradecer ao elmig o comentário, já que foi o primeiro :)
Em resposta a esse comentário resolvi escrever um novo post, sobre o mesmo tema.
Para optimizar o desempenho de um sistema de informação temos que ter em conta vários factores, sendo que um dos mais importantes é o software que serve de interface entre os utilizadores e o sistema de gestão de base de dados(SGBD) que o suporta, vulgo software de gestão ou ERP. Alguns dos outros factores que tem muita importância no desempenho final do Sistema de Informação vão desde o hardware escolhido até à configuração do SGBD.
Como o software de gestão é o factor que mais impacto tem na performance final do Sistema (pois um programa mal arquitectado raramente terá bom desempenho), devemos começar por avaliar o desempenho dos vários factores envolvidos, escolher a melhor configuração possível e desenvolver o programa de acordo com essa configuração.
Para além destas medidas, que podem ser distintas para cada situação, há um conjunto de opções geralmente aceites pela comunidade no que respeita a configurações recomendadas do SGBD, opções de arquitectura do hardware (nomeadamente sistema de armazenamento), práticas de programação, estruturação das bases de dados, etc...
Claro que tudo isto é muito bonito quando se está a desenvolver o sistema, mas quando este já existe há algum tempo e não é viável alterar a sua arquitectura ? Só nos resta medir a performance do mesmo e melhorar o que for possível, ou seja, actuar onde se puder, nomeadamente a nível de opções de configuração do SGBD, hardware, etc...
Mas como medir a performance ? Que indicadores escolher ? Hoje em dia quase todos os SGBD têm opções, plugins ou ferramentas para obter indicadores acerca do desempenho do SGDB. Devemos recolher essa informação e interpretá-la para alterar o que for necessário.
Vamos a um exemplo: Vamos imaginar que temos um sistema que está suportado pelo PostgreSQL. Neste SGBD existe uma opção para obter estatisticas. Um dos indicadores que podemos obter, chamado pg_stat_all_indexes (é uma tabela) dá-nos informação importante sobre a utilização dos índices das tabelas. Com esta informação podemos afinar os índices que nos dêm mais problemas, ou então podemos usar uma das tabelas pg_stat_io_* que nos dão informações sobre a performance de I/O da Base de Dados, ao analizar estes valores podemos descobrir que temos que optimizar a configuração do sistema de armazenamento...
Isto é só a ponta do iceberg... há imensas opções diferentes e abordagens que variam conforme o SGBD usado, o hardware, etc...
Por agora espero que tenham ficado com a ideia geral...
Até breve !
Antes de mais, quero agradecer ao elmig o comentário, já que foi o primeiro :)
Em resposta a esse comentário resolvi escrever um novo post, sobre o mesmo tema.
Para optimizar o desempenho de um sistema de informação temos que ter em conta vários factores, sendo que um dos mais importantes é o software que serve de interface entre os utilizadores e o sistema de gestão de base de dados(SGBD) que o suporta, vulgo software de gestão ou ERP. Alguns dos outros factores que tem muita importância no desempenho final do Sistema de Informação vão desde o hardware escolhido até à configuração do SGBD.
Como o software de gestão é o factor que mais impacto tem na performance final do Sistema (pois um programa mal arquitectado raramente terá bom desempenho), devemos começar por avaliar o desempenho dos vários factores envolvidos, escolher a melhor configuração possível e desenvolver o programa de acordo com essa configuração.
Para além destas medidas, que podem ser distintas para cada situação, há um conjunto de opções geralmente aceites pela comunidade no que respeita a configurações recomendadas do SGBD, opções de arquitectura do hardware (nomeadamente sistema de armazenamento), práticas de programação, estruturação das bases de dados, etc...
Claro que tudo isto é muito bonito quando se está a desenvolver o sistema, mas quando este já existe há algum tempo e não é viável alterar a sua arquitectura ? Só nos resta medir a performance do mesmo e melhorar o que for possível, ou seja, actuar onde se puder, nomeadamente a nível de opções de configuração do SGBD, hardware, etc...
Mas como medir a performance ? Que indicadores escolher ? Hoje em dia quase todos os SGBD têm opções, plugins ou ferramentas para obter indicadores acerca do desempenho do SGDB. Devemos recolher essa informação e interpretá-la para alterar o que for necessário.
Vamos a um exemplo: Vamos imaginar que temos um sistema que está suportado pelo PostgreSQL. Neste SGBD existe uma opção para obter estatisticas. Um dos indicadores que podemos obter, chamado pg_stat_all_indexes (é uma tabela) dá-nos informação importante sobre a utilização dos índices das tabelas. Com esta informação podemos afinar os índices que nos dêm mais problemas, ou então podemos usar uma das tabelas pg_stat_io_* que nos dão informações sobre a performance de I/O da Base de Dados, ao analizar estes valores podemos descobrir que temos que optimizar a configuração do sistema de armazenamento...
Isto é só a ponta do iceberg... há imensas opções diferentes e abordagens que variam conforme o SGBD usado, o hardware, etc...
Por agora espero que tenham ficado com a ideia geral...
Até breve !
2007-05-14
Velocidades...
Boas,
Na base de um qualquer sistema de informação (afinal o assunto principal deste blog), existe sempre uma Base de Dados. Ora, as bases de dados, ou melhor, os sistemas de gestão de bases de dados não são um arquivo morto de dados mas sim um ponto fundamental da arquitectura e desempenho dos sistemas de informação.
Como deve ser (será ?) óbvio a arquitectura, o desenvolvimento e a manutenção da dita base de dados são pontos de extrema importância na criação e evolução dos sistemas de informação.
Esta introdução resume a minha opinião sobre a importância deste tema, e também para apresentar uma históriazinha:
Era uma vez um sistema de informação (vulgo ERP) sustentado por uma base de dados não muito grande (< 20 GiB) que demorava cerca de 17 horas (eu escrevo outra vez, 17 horas) a fazer um fecho de mês. Colocado o problema a um dos programadores do sistema, este respondeu: "eh pá isso é muito, deviam ser aí umas 8 ou 9 horas !!"...
(cai o pano para evitar mais vergonhas)
8 ou 9 horas para fazer umas contas a stocks e custos, enfim... será preciso mais para tirar a conclusão lógica ?
Será que isto é um sistema vagamente optimizado ??
Por hoje não digo mais nada...
Na base de um qualquer sistema de informação (afinal o assunto principal deste blog), existe sempre uma Base de Dados. Ora, as bases de dados, ou melhor, os sistemas de gestão de bases de dados não são um arquivo morto de dados mas sim um ponto fundamental da arquitectura e desempenho dos sistemas de informação.
Como deve ser (será ?) óbvio a arquitectura, o desenvolvimento e a manutenção da dita base de dados são pontos de extrema importância na criação e evolução dos sistemas de informação.
Esta introdução resume a minha opinião sobre a importância deste tema, e também para apresentar uma históriazinha:
Era uma vez um sistema de informação (vulgo ERP) sustentado por uma base de dados não muito grande (< 20 GiB) que demorava cerca de 17 horas (eu escrevo outra vez, 17 horas) a fazer um fecho de mês. Colocado o problema a um dos programadores do sistema, este respondeu: "eh pá isso é muito, deviam ser aí umas 8 ou 9 horas !!"...
(cai o pano para evitar mais vergonhas)
8 ou 9 horas para fazer umas contas a stocks e custos, enfim... será preciso mais para tirar a conclusão lógica ?
Será que isto é um sistema vagamente optimizado ??
Por hoje não digo mais nada...
2007-05-09
Acto de criação
A ignorância tem destas coisas:
Houve uma pessoa aqui há tempos que me perguntou porque é que uma "newsletter" que desenhou em HTML não saía como deve ser no browser... Uma análise superficial do código veio a revelar que afinal os endereços dos ficheiros de suporte (imagens e afins) estavam a apontar para os ficheiros do PC do dito "web developer" em vez de apontarem para os ficheiros que foram colocados no servidor...
Até aqui nada de novo, qualquer um se engana... O que mais me espantou foi o facto do "web developer" não saber distinguir entre os dois tipos de referência...
Digamos que isto se compara a um médico não saber qual é a posição correcta do estetoscópio, ou pelo menos devia-se comparar....
... em frente com o Choque Tecnológico, a minha parte de Choque já cá canta :)
Fiquem bem.
Houve uma pessoa aqui há tempos que me perguntou porque é que uma "newsletter" que desenhou em HTML não saía como deve ser no browser... Uma análise superficial do código veio a revelar que afinal os endereços dos ficheiros de suporte (imagens e afins) estavam a apontar para os ficheiros do PC do dito "web developer" em vez de apontarem para os ficheiros que foram colocados no servidor...
Até aqui nada de novo, qualquer um se engana... O que mais me espantou foi o facto do "web developer" não saber distinguir entre os dois tipos de referência...
Digamos que isto se compara a um médico não saber qual é a posição correcta do estetoscópio, ou pelo menos devia-se comparar....
... em frente com o Choque Tecnológico, a minha parte de Choque já cá canta :)
Fiquem bem.
OpenSource nas Empresas
Porque são as empresas portuguesas tão avessas ao Open Source ??
Será da capacidade técnica ?
Será que somos muito amigos das grandes companhias de software ?
Será que temos dinheiro a mais ?
Não nos preocupa o facto de podermos a vir não ser capazes de ler os nossos arquivos de informação no futuro ?
Enfim, algumas preocupações nocturnas para hoje, abertas a comentários ....
Será da capacidade técnica ?
Será que somos muito amigos das grandes companhias de software ?
Será que temos dinheiro a mais ?
Não nos preocupa o facto de podermos a vir não ser capazes de ler os nossos arquivos de informação no futuro ?
Enfim, algumas preocupações nocturnas para hoje, abertas a comentários ....
2007-05-04
Apresentação
Boa noite a todos !
Este é o primeiro post deste (novo) blog.
Pretendo com este espaço divulgar algumas ideias e recolher opiniões sobre Sistemas de Informação em geral e o Software Livre no âmbito dos Sistemas de Informação.
Para primeiro "desafio" vou propor que lancem temas que gostariam de ver abordados aqui.
Até já.
Este é o primeiro post deste (novo) blog.
Pretendo com este espaço divulgar algumas ideias e recolher opiniões sobre Sistemas de Informação em geral e o Software Livre no âmbito dos Sistemas de Informação.
Para primeiro "desafio" vou propor que lancem temas que gostariam de ver abordados aqui.
Até já.
Subscrever:
Mensagens (Atom)