wiki:ExpressoTestCenter/qa/mail/StressTest

Version 5 (modified by viani, 3 years ago) (diff)

--

Criando arquivos js gigantescos

Possível simulação: Arquivos javascript grandes

cd /var/www/expresso/expressoMail1_2/js
for file in $(ls *.js); do { for i in $(seq 200000); do echo "var variavel_de_nome_grande_para_teste = $i;"; done; } >> $file; done

Criando delay no controller

Possível simulação: Rede com alta latência, dns com problema ou distância geográfica

Editar o arquivo expresso/controller.php, e inserir um sleep:
<?php

sleep(4);
      
  if(!isset($GLOBALS['phpgw_info'])){
    .......

Criando caixas gigantescas

Possível simulação: Usuário com quota grande e muitos emails

cd /var/spool/cyrus/mail/e/user/expresso-admin/
for j in $(seq 1000); do for i in $(ls *.); do cp $i $RANDOM.; done; done
# pode executar mais de uma vez para obter o resultado desejado.
sudo chown cyrus:  * -R
sudo -u cyrus /usr/sbin/cyrreconstruct user/expresso-admin*

Deixando os tempos de refresh pequenos

Possível simulação: Rede lenta ou concorrência de requisições

Edite o arquivo main.js, nas primeiras linhas:

// Tempo do auto refresh 3 segundos
var time_refresh = 3000; 
// tempo do auto save 3 segundos
var autosave_time = 3000;

Criando muitas frases de langs

Possível simulação: Muitos langs não usados ExpressoMail (precisa deslogar para ter efeito):

for i in $(seq 100 10000); do printf "test$i\texpressoMail1_2\tpt-br\tteste$i\n" >> phpgw_pt-br.lang ; done

Outros módulos:

sudo su postgres
for i in $(seq 100 10000); do psql expresso -c "INSERT INTO phpgw_lang VALUES ('pt-br','expressoMail1_2','test$i','teste$i');"; done