Se você está planejando construir sites ou aplicativos da web altamente responsivos, é provável que em algum ponto você queira fazer alguns testes de estresse usando o siege , um excelente “utilitário de teste de carga e benchmarking de http”.
Se você está usando o OS X, provavelmente está familiarizado com (e usando) homebrew para “instalar os pacotes Unix / Linux ausentes que a Apple não fez”.
Portanto, para instalar siege
, você normalmente faria um brew install siege
.
EDIT: O “hack” abaixo não é mais necessário, agora que a Apple atualizou o XCode & XCode CLT para 5.0.1 e o homebrew recebeu algumas atualizações. Além disso, a preparação do cerco foi atualizada para 3.0.5.
No entanto, agora, com o Mavericks recém-lançado e algumas mudanças importantes no XCode 5, nem todas as fórmulas homebrew por aí funcionam como deveriam. Por exemplo, siege
não funciona mais com HTTPS .
Isso funciona conforme o esperado:
siege -c 50 http://www.google.com
…enquanto:
siege -c 50 https://www.google.com
… está gerando um erro estranho:
siege: [error] descriptor table full sock.c:108: Too many open files`.
Olhando para o erro, você normalmente ficaria tentado a mexer ulimit
, mas não funcionou para mim …
Depois de pesquisar um pouco, cheguei à conclusão de que algo deve ter mudado no OS X OpenSSL nativo, então eu encontrei a seguinte solução – longe de ser perfeita, mas funcionando :
brew uninstall siege
brew install openssl
brew link --force openssl
brew install siege
Observe que isso sobrescreverá a implementação padrão do OS X OpenSSL , o que pode interromper algumas coisas em seu sistema, há até uma mensagem de aviso sobre isso, portanto, fazer um backup anterior do sistema seria altamente recomendado.brew link --force openssl
Fiz um backup, claro, mas para mim tudo parece funcionar muito bem …
Espero que poupe algumas horas: -) …