Je compare FSDirectory et RAMDirectory.
taille de l'index
- est 1.4G
- Centos, 5G mémoire
recherche 1000 mots-clés, la moyenne/min/max Temps de réponse (ms) est ici
- FSDirectory
- première exécution: 351/7/2611
- deuxième manche: 47/7/837
- troisième run (app restart): 53/7/2343
- RAMDirectory
- première course: 38/7/1133
- deuxième manche: 34/7/189
- troisième run (app restart): 38/7/959
Donc, vous pouvez voir que RAMDirectory est plus rapide que FSDirectory, mais après que le 'os file cache warm up', l'écart de vitesse n'est pas si différent. Quel est l'inconvénient de RMADirectory? Dans mon test
- Il mange beaucoup plus de mémoire, le fichier 1.4G nécessite environ 2G pour le charger en mémoire. tandis que FSDirectory utilise seulement 700m. Ensuite, cela signifie plus de temps pour le gc complet.
- Il faut plus de temps pour charger, en particulier lorsque le fichier d'index est volumineux. Il faut copier les données du fichier en mémoire lors de l'ouverture de l'index. Cela signifie que les demandes seraient bloquées pendant plus de temps lors du redémarrage de l'application.
- Il n'est pas très pratique de maintenir deux index en même temps. Parce que notre application change d'index toutes les quelques heures.Nous voulons que l'index se réchauffe tandis que l'ancien index fonctionne toujours dans le même tomcat.
Merci pour les entrées ur .. puis-je savoir comment petit est "assez petit"? – user43498
J'imagine plus petit que votre RAM physique disponible. –