Estou testando um aplicativo que é essencialmente uma solicitação/resposta de upload/download. Carregue um arquivo, compacte-o e envie-o para algum lugar. Quero fazer um teste de carga enviando arquivos de X bytes para ver onde estão minhas limitações. Estou criando arquivos com o tamanho de bytes que desejo, mas devido à natureza do zip, não há como dizer qual será o tamanho do arquivo quando ele for compactado e enviado de volta. Então, estou enviando um arquivo de 400M, ele é compactado para, digamos, 170M e enviado de volta. Isso realmente não testa o mecanismo como eu quero. Quero poder enviar 400M, deixar o zip acontecer, mas ainda ter 400M que são enviados....
Basicamente, como posso criar um arquivo de dados que não pode ser compactado?
Responder1
dd if=/dev/urandom of=file bs=1M count=400
Produzirá um arquivo file
que o zip não será capaz de compactar. O Zip também não será capaz de compactar dados compactados anteriormente, incluindo arquivos de vídeo.
Responder2
Você pode usar um arquivo previamente compactado ou aleatório (mas não há garantia de que não será compactado, especialmente se os arquivos forem pequenos), mas o método mais direto é usar a -Z store
opção do comando zip que simplesmente armazenará os arquivos em o arquivo sem compactação (supondo que você use o comando zip(1)).