Configuration du cache avec 4D 2004 et 4D v11 SQL (allocation mémoire)

Yves Casquel

- Titre : Configuration du cache avec 4D 2004 et 4D v11 SQL (allocation mémoire)

- Auteur : Yves Casquel

- Parution : 17 mars 2005

- Mise à jour : 28 mai 2008

- Licence : Copyright ® 2005-2008 4D s.a.. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Paramètres

- Cache forcé

- Cache adaptatif

- II. Calcul du cache

- Exemple

- III. Prise en compte des réglages en fonction des moteurs 4D utilisés

I - Paramètres

Produit : 4D 2004, 4D v11 SQL · Plateforme : Mac & Win ♪

Dans les préférences de 4D/4D Server, dans la partie « Base de données » puis « Gestion des données », il y a une section où vous pouvez paramétrer la mémoire de l'application et la taille du cache. Il y a deux configurations principales : le mode forcé ou le mode adaptatif.

Cache forcé

Ce paramétrage est sélectionné quand la case « Calcul du cache adaptatif » est décochée. Une seule option est alors disponible : celle qui permet de définir manuellement la taille du cache de la base servie. Cette taille du cache est alors définie sans tenir compte des ressources machine disponibles.

Cache adaptatif

La case « Calcul du cache adaptatif » est cochée. L'allocation mémoire est calculée dynamiquement et respecte les limites que vous avez définies.

Mémoire physique à réserver

C'est la quantité de mémoire que vous souhaitez laisser disponible au système et aux autres applications.

Mémoire disponible utilisée pour le cache

Prenez toute la mémoire RAM de votre système, soustrayez la mémoire réservée et multipliez par le pourcentage défini dans ce paramètre. Ce sera la quantité de mémoire utilisée pour le cache de votre base.

Taille maximale

C'est une limite absolue définie pour la taille maximale du cache. Si le calcul ci-dessus excède la taille maximale, la taille du cache sera définie à cette limite.

Taille minimale

C'est une limite absolue définie pour la taille minimale du cache.

II - Calcul du cache

Pour calculer la taille du cache, il faut d'abord soustraire la « Mémoire physique à réserver » (RAM) de la mémoire physique du système. Le pourcentage de la « Mémoire disponible utilisée pour le cache » est appliqué à cette différence.

Mémoire physique (RAM)
- Mémoire physique à réserver
* Mémoire disponible utilisée pour le cache (%)
_____________
Résultat final

Ce résultat final est ensuite comparé aux deux paramètres suivants :

- taille maximale ;

- taille minimale.

Si le Résultat final est compris entre les deux bornes « Taille maximale » et « Taille minimale », ce résultat est appliqué.
Si le Résultat final est supérieur à la borne « Taille maximale », le réglage appliqué correspond au paramètre « Taille maximale ».
Si le Résultat final est inférieur à la borne « Taille minimale », le réglage appliqué correspond au paramètre « Taille minimale ».

L'autre partie de mémoire restante après le calcul est rendue au système.

Le « Cache actuel » retourne la valeur calculée pour l'application 4D ouverte.

Le « Cache au redémarrage » affiche le résultat du nouveau calcul qui sera pris en compte après le redémarrage de l'application.

Exemple

Vous avez 2 Go (2000 Mo) de mémoire physique RAM sur votre machine.

Vous réservez 512 Mo pour votre système.

4D peut alors utiliser 1488 Mo de mémoire physique (2000-512).

Vous définissez 75% de mémoire disponible utilisée pour le cache.

4D calcule donc (2000-512)*0,75 = 1116 Mo de taille de cache (résultat final).

Vous limitez le cache maximum à 500 Mo et le cache minimum à 100 Mo.

Le cache actuel de la base de données sera de 500 Mo RAM parce que le résultat final excède la taille maximale que vous avez définie.

Si le résultat final avait été 80 Mo par exemple, le cache actuel aurait été redéfini par la borne « Taille minimale », donc à 100 Mo.

Si le résultat final avait été 300 Mo par exemple, il aurait été appliqué au cache actuel parce qu'il serait alors compris entre les bornes « Taille minimale » et « Taille maximale ».

III - Prise en compte des réglages en fonction des moteurs 4D utilisés

- Moteur mono poste et moteur serveur.

- Moteur enginé monoposte.

Dans le cadre du « Moteur enginé monoposte », s'il est impossible d'allouer la taille du cache correspondant au résultat final, un message d'erreur apparaît et l'application n'est pas lancée.

Dans les autres cas, s'il est impossible d'allouer la taille du cache correspondante au résultat final, une boite de dialogue apparaît. Cette boite propose une taille optimale, en fonction des capacités de la machine. Dans le cas où le choix est accepté, l'application est lancée.