Mes cours de proba. sont loins et ma mémoire me fait défaut pour trouver la solution au problème suivant.

Je dois effectuer un automate qui va valider l'optimisation d'un programme existant.

Ce que fait le programme d'origine :
Accéder à une base de donnée pour récupérer la valeur associée à un identifiant unique (base énorme, identifiant très court).

Ce que fait l'optimisation que je dois tester :
Stocker en mémoire cache les valeurs déjà accédées lors des recherches précédentes, de manière à éviter des accès disque si on recherche à nouveau les mêmes valeurs quelques instants plus tard. La durée de rétention des données en cache est paramètrable : 10 mn par exemple.

Ce que fait mon robot de test :
Il prend aléatoirement un identifiant dans une liste de 10.000, et recherche les valeurs associées.
Plus le temps passe, plus les données ont une chance de se trouver en cache. Néanmoins, lorsque la durée de rétention est atteinte, la proportion de résultats déjà en cache se stabilise, puisque les données les plus anciennes sont effacées.
J'augmente progressivement la vitesse d'interrogation, par palier (10 recherches par minutes, 100 recherches par minute, 500 recherches par minutes, ...)

Quelle formule peut me donner, après que la durée de rétention soit atteinte, la proportion de données en cache en fonction du nombre de tirages par minute, de la durée de rétention, de la taille du jeu d'essai dans lequel les identifiants à rechercher sont tirés aléatoirement ?


Pour information, ça sert à régler les paramètres de mon robot de test, de manière à simuler les conditions réelles.

D'avance, merci