Em relação ao formato de arquivo apropriado, talvez você não precise arquivá-lo? Tente usar tar
em vez de zip
. Se isso não ajudar, tente organizá-los em estruturas hierárquicas, como git
ou squid
armazena grande quantidade de arquivos em seu diretório cache, separando os subdiretórios de nível superior x segundo nível, por exemplo: 16/256/64
, Assim, você terá menos solicitações de E / S não confirmadas quando tentar abrir esses arquivos.
Em segundo lugar, você deve considerar o armazenamento em cache, aqui estão algumas sugestões:
- use Redis ou Memcached para armazenar em cache os dados na memória que já foram lidos,
- tente colocá-los em algum sistema de arquivos, como ramfs ou tmpfs , para que resida na memória,
- use o atendedor de memória virtual, como
vmtouch
, que pode mapear arquivos para a memória virtual, por exemplo, para colocar o arquivo na memória:vmtouch -vt file123.geo
, ou para monitorar toda a pasta, tente:vmtouch -dl /path/dir
No entanto, se os arquivos são pequenos e consistem em alguns dados específicos (como geohashes), talvez seja importante importá-los para o banco de dados? Tais como MariaDB ou MongoDB Ou, talvez, indexe-os usando a Pesquisa do Solr ou a Pesquisa elástica ? Mas no final, tudo depende de seus requisitos técnicos específicos.