tente mlock = 1 e reindexe todos os índices.
index index1
{
source = main1
path = /ssd/sphinx/index.main
charset_type = utf-8
docinfo = extern
mlock = 1
}
Minha empresa tem alguns servidores que dedicamos a executar o Sphinx Search. Todos são CentOS 5 com cerca de 48GB de memória e nossa versão do searchd é 1.11. Recentemente eu tenho tentado entender por que o Sphinx usa tão pouco da memória disponível para seus índices regulares (nós não usamos índices RT no momento). De acordo com o site oficial da Sphinx , todos os arquivos relacionados a um índice, exceto o. Os arquivos spd e .spp são armazenados na RAM. Atualmente, isso representa cerca de 14GG para todos os nossos índices, que podem caber facilmente na RAM. No entanto, quando eu consultar htop para uso de memória, está mostrando um pouco menos de 1,5 GB sendo usado! Curiosamente, ele relata que o swap está sendo usado também, mesmo com o vm.swappiness definido como 0. Se eu parar o searchd, o swap desce para 0. (Deve-se notar que a quantidade de swap usada não é maior que a quantidade de memória sendo usada.) Nós configuramos para que todos os nossos índices sejam pré-abertos na inicialização (preopen_indexes = 1 em nossa conf a sphinx).
Eu tenho duas perguntas, dadas as informações acima:
tente mlock = 1 e reindexe todos os índices.
index index1
{
source = main1
path = /ssd/sphinx/index.main
charset_type = utf-8
docinfo = extern
mlock = 1
}
What is Sphinx doing with the data in those indexes, if it isn't keeping it in memory?
Ele provavelmente os coloca na memória. Mas o sistema operacional host percebe que eles não estão sendo muito usados e, portanto, os exclui.
Sugerimos que você verifique se o swappiness está sendo realmente aplicado.
Is it possible to force Sphinx to keep more data in memory?
Se você tem a memória de sobra. Coloque os índices em um disco RAM:)
E se você realmente tiver bastante memória de sobra, desligue completamente a troca. Você corre o risco de uma falha se ficar sem memória, mas parece improvável que aconteça nesse servidor.
Tags memory-usage sphinxsearch