Calcul du cache adaptatif : lorsque cette option est cochée, la gestion de la mémoire cache est assurée dynamiquement par le système — dans des limites que vous définissez. Ce principe permet de configurer une mémoire cache performante, adaptée à la plupart des configurations. La taille du cache est alors calculée dynamiquement en fonction des paramétrages définis. Les valeurs proposées par défaut correspondent à une utilisation standard de 4D.
Mémoire à réserver pour le système et les autres applications : partie de la mémoire RAM à réserver au Système et aux autres applications. Cette valeur peut être augmentée à des fins d’optimisation lorsque d’autres applications consommatrices de mémoire tournent sur le même poste que 4D.
Mémoire disponible utilisée pour le cache : pourcentage de la mémoire restante alloué par défaut au cache. Pour obtenir la taille allouée par défaut au cache, il suffit donc d’effectuer le calcul suivant : (Mémoire physique - Mémoire physique à réserver) x Pourcentage de la mémoire utilisé pour le cache. Dans le mode adaptatif, la taille de mémoire cache varie dynamiquement en fonction des besoins de l’application et du système. Vous pouvez fixer les bornes de ces variations à l’aide des deux options suivantes :
Taille maximale : quantité maximale de mémoire pouvant être utilisée par le cache. Avec une version 32 bits de 4D et 4D Server, cette valeur est limitée en interne pour des raisons techniques (2 Go sous Windows et 1,5 Go sous Mac). Avec version 64 bits de 4D et 4D Server, cette valeur est virtuellement illimitée.
Taille minimale : quantité minimale de mémoire devant être réservée pour le cache. Cette valeur ne peut être inférieure à 4 Mo.
La définition de bornes est utile dans le cadre des bases diffusées sur des machines dont vous ne connaissez pas a priori la configuration mémoire. Dans ce cas, les bornes vous permettent de garantir des performances minimales dans tous les cas. Le schéma suivant illustre ce fonctionnement : Exemple de calcul de la mémoire cache : Mémoire physique à réserver = 256 Mo Pourcentage de la mémoire disponible utilisé pour le cache = 50 % Taille maximale = 1 Go Taille minimale = 128 Mo
Exemples de configurations en mode adaptatif Les exemples suivants illustrent l’intérêt du cache adaptatif dans différentes configurations logicielles et mémoire.
Ordinateur avec 768 Mo de RAM faisant tourner un 4D Server unique. Dans ce cas, il est intéressant de lui octroyer le maximum de cache :
Mémoire physique à réserver = 256 Mo.
Pourcentage de mémoire disponible utilisé pour le cache = 100 % car l’application 4D Server est seule.
Taille minimale = 10 Mo et Taille maximale = 1Go (dans cette configuration, ces valeurs sont inutiles).
--> Taille par défaut du cache : (768 - 256) x 100% = 512 Mo
Même configuration que précédemment, mais trois applications 4D Server tournent sur l’ordinateur. Vous souhaitez accorder un cache égal à chaque application. Il suffit de passer la valeur de “Pourcentage de mémoire disponible utilisé pour le cache” de chaque serveur à 33 %. --> Taille par défaut du cache pour chaque application : (768 - 256) x 33% = 170 Mo
Création d’une application exécutable destinée à une large diffusion dans de multiples configurations. Après tests, il s’avère que l’application fonctionne de manière optimale avec un cache situé entre 20 et 100 Mo.
Mémoire physique à réserver = 256 Mo.
Pourcentage de mémoire disponible utilisé pour le cache = 50 % afin de laisser de la mémoire aux autres applications.
Taille minimale = 20 Mo et Taille maximale = 100 Mo.
--> Sur une machine disposant de 256 Mo de RAM, 4D utilise le minimum de cache = 20 Mo --> Sur une machine disposant de 1 Go de RAM, 4D utilise le maximum de cache = 100 Mo --> Sur une machine disposant de 384 Mo de RAM, 4D utilise (384 - 256) x 50% = 64 Mo
Calcul du cache adaptatif non cochée : dans ce mode, vous définissez vous-même la taille de la mémoire cache pour la base. 4D affiche alors une zone de saisie permettant de définir la mémoire cache à utiliser ainsi que les informations relatives à la mémoire physique (mémoire RAM disponible sur la machine), le cache actuel et le cache après redémarrage (tenant compte de vos modifications).
La taille de mémoire cache que vous saisissez sera réservée pour la base 4D, quel que soit l’état des ressources de la machine. Ce paramétrage peut être utilisé dans certaines configurations spécifiques, ou lorsque la base est destinée à fonctionner sur des systèmes disparates en termes de mémoire. Dans la plupart des cas, le cache adaptatif est plus performant.
Ecriture cache toutes les… minutes/secondes : spécifie la fréquence de sauvegarde automatique du cache de données, c’est-à-dire son écriture sur le disque. 4D écrit les données placées dans le cache à intervalles fixes. Vous pouvez définir tout intervalle compris entre 1 seconde et 500 minutes. Par défaut, 4D stocke vos données toutes les 20 secondes. L’application écrit aussi vos données sur disque lorsque vous changez de mode ou quittez l’application. Quand vous prévoyez de saisir beaucoup de données, il est souhaitable de fixer un intervalle court. En effet, en cas de coupure de courant, vous ne perdriez que les données saisies depuis la dernière écriture (si la base fonctionne sans fichier d’historique). Si chaque opération d’écriture du cache est accompagnée d’un fort ralentissement de la base de données, il faut ajuster la fréquence. Ce symptôme signifie une sauvegarde massive d’enregistrements, et dans ce cas une fréquence d’écriture plus élevée, donc plus rapide, est plus efficace. Par défaut, 4D affiche une petite fenêtre lors de l'écriture du cache. L'option Ecriture du cache dans la Page Interface vous permet de ne pas l'afficher.