/
ini.xml
395 lines (391 loc) · 14.9 KB
/
ini.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e2695046bf46e79e8ad0fcd2c5dab2a88ebafa2f Maintainer: moradZahid Status: ready -->
<!-- Reviewed: no -->
<section xml:id="apcu.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
Bien que les réglages par défaut d'APCu fonctionnent correctement sur de nombreuses
installations, il est utile de penser à ajuster ces paramètres de configuration.
</para>
<para>
Une question importante pour la configuration d'APCu est
quelle est la taille adéquate qui doit être allouée dans la mémoire à APCu.
La directive ini qui contrôle ce paramètre est <literal>apc.shm_size</literal>.
Le paragraphe ci-dessous est important pour répondre à cette question.
</para>
<para>
Une fois le serveur lancé, le script <literal>apc.php</literal>, disponible avec
l'extension, peut être copié dans le document root et exécuté par le
navigateur. Ce script fournit une analyse détaillée du fonctionnement interne
de APCu. Si la bibliothèque GD est activée dans PHP alors le script peut afficher
des graphiques pertinents.
</para>
<para>
Si APCu fonctionne, le nombre de <literal>Cache full count</literal> (à gauche)
affichera le nombre de fois où le cache a atteint sa capacité maximale et a dû
évacuer des entrées pour libérer de la mémoire. Pendant l'évacuation, si
<literal>apc.ttl</literal> a été spécifié, APCu essaiera d'abord de supprimer les
entrées expirées, c'est-à-dire les entrées dont le TTL a expiré ou les entrées
qui n'ont pas de TTL défini et qui n'ont pas été consultées au cours des dernières
<literal>apc.ttl</literal> secondes. Si <literal>apc.ttl</literal> n'a pas été
défini ou si la suppression des entrées expirées n'a pas libéré suffisamment
d'espace, APCu effacera l'intégralité du cache.
</para>
<para>
Le nombre d'évictions devrait être minimal dans un cache bien configuré. Si le
cache est constamment rempli et donc libéré de force, le brassage résultant aura
des effets préjudiciables sur les performances du script. Le moyen le plus simple
de réduire ce nombre est d'allouer plus de mémoire à APCu.
</para>
<para>
Lorsque APCu est compilé avec mmap (Memory Mapping), il n'utilisera qu'un seul
segment de mémoire, contrairement au cas où APCu est construit avec
SHM (SysV Shared Memory) qui utilise plusieurs segments de mémoire. MMAP n'a
pas de limite maximale comme SHM dans <literal>/proc/sys/kernel/shmmax</literal>.
En général, l'utilisation de MMAP est recommandée car il réclame la mémoire
plus vite lorsque le serveur web est redémarré et réduit l'impact sur
l'allocation de mémoire au démarrage.
</para>
<para>
<table>
<title>Options de configuration d'APCu</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.apcu.enabled">apc.enabled</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apcu.shm-segments">apc.shm_segments</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apcu.shm-size">apc.shm_size</link></entry>
<entry>"32M"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apcu.entries-hint">apc.entries_hint</link></entry>
<entry>"4096"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apcu.ttl">apc.ttl</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apcu.gc-ttl">apc.gc_ttl</link></entry>
<entry>"3600"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apcu.mmap-file-mask">apc.mmap_file_mask</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apcu.slam-defense">apc.slam_defense</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apcu.enable-cli">apc.enable_cli</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apcu.use-request-time">apc.use_request_time</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Antérieurement à APCu 5.1.19, la valeur par défaut était "1".</entry>
</row>
<row>
<entry><link linkend="ini.apcu.serializer">apc.serializer</link></entry>
<entry>"php"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Antérieurement à APCu 5.1.15, la valeur par défaut était "default".</entry>
</row>
<row>
<entry><link linkend="ini.apcu.coredump-unmap">apc.coredump_unmap</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apcu.preload-path">apc.preload_path</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.apcu.enabled">
<term>
<parameter>apc.enabled</parameter>
<type>bool</type>
</term>
<listitem>
<para>
<literal>apc.enabled</literal> peut être mis à 0 pour désactiver APC.
Cela peut s'avérer utile lorsqu'APC est compilé statiquement dans PHP
puisqu'il n'y a pas d'autre moyen de le désactiver (lorsque APC est
compilé en tant que DSO, la ligne <literal>extension</literal>
dans le fichier <literal>php.ini</literal> peut simplement être mise en
commentaire).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.shm-segments">
<term>
<parameter>apc.shm_segments</parameter>
<type>int</type>
</term>
<listitem>
<para>
Le nombre de segments de mémoire partagée à allouer au cache de compilation
Si APC manque de mémoire partagée mais que <literal>apc.shm_size</literal>
est mis à la valeur maximale autorisée par le système, alors augmenter
cette valeur peut empêcher APC d'épuiser sa mémoire.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.shm-size">
<term>
<parameter>apc.shm_size</parameter>
<type>string</type>
</term>
<listitem>
<para>
La taille de chaque segment de mémoire partagée donnée en notation abrégée
comme indiquée dans cette <link linkend="faq.using.shorthandbytes">FAQ</link>.
Par défaut, certains systèmes (dont la plus part des variants de BSD)
ont une limite très basse pour la taille d'un segment de mémoire partagée.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.entries-hint">
<term>
<parameter>apc.entries_hint</parameter>
<type>int</type>
</term>
<listitem>
<para>
Un "indice" sur le nombre de variables distinctes qui peuvent être stockées.
Mettre à zéro ou dans le doute omettre.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.ttl">
<term>
<parameter>apc.ttl</parameter>
<type>int</type>
</term>
<listitem>
<para>
Considérer que les entrées de cache sans TTL explicite sont expirées si elles
n'ont pas été consultées depuis autant de secondes. En effet, cela permet à ces
entrées d'être opportunément supprimées lors d'une insertion dans le cache,
ou avant une suppression complète. Notez que parce que la suppression est
opportuniste, les entrées peuvent toujours être lisibles même si si elles sont
plus anciennes que <literal>apc.ttl</literal> secondes. Ce paramètre n'a aucun
effet sur les entrées de cache pour lesquelles un un TTL explicite est spécifié.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.gc-ttl">
<term>
<parameter>apc.gc_ttl</parameter>
<type>int</type>
</term>
<listitem>
<para>
La durée en seconde qu'une entrée de cache peut rester dans la liste du
ramasse-miettes. Cette valeur fournit une sûreté intégrée dans le cas
où un processus s'arrête pendant qu'il exécute le code d'un fichier
source mis en cache; si ce fichier est modifié, la mémoire allouée pour
l'ancienne version ne sera pas réclamée tant que la durée de vie n'est
pas atteinte. Mettre à zéro pour désactiver cette fonctionnalité.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.mmap-file-mask">
<term>
<parameter>apc.mmap_file_mask</parameter>
<type>string</type>
</term>
<listitem>
<para>
Si APCu a été compilé avec l'option MMAP en utilisant
<literal>--enable-mmap</literal>, ce paramètre reçoit le masque de
fichier de type mktemp-style à passer au module mmap pour déterminer
si la région de la mémoire utilisant mmap sera sauvegardée par le biais
d'un fichier ou par celui de la mémoire partagée.
Dans le cas où la sauvegarde se fait par le biais d'un fichier,
le masque sera de la forme <literal>/tmp/apc.XXXXXX</literal>
(avec exactement 6 <literal>X</literal>).
Pour utiliser shm_open/mmap de la norme POSIX, le masque doit contenir
<literal>.shm</literal>, comme dans l'exemple suivant:
<literal>/apc.shm.XXXXXX</literal>. Ce paramètre peut être défini par
<literal>/dev/zero</literal> pour utiliser l'interface
<literal>/dev/zero</literal> du noyau avec une mémoire utilisant mmap
anonymement. Laisser ce paramètre indéfini forcera un mmap anonyme.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.slam-defense">
<term>
<parameter>apc.slam_defense</parameter>
<type>int</type>
</term>
<listitem>
<para>
Au démarrage ou lors de la modification d'un fichier dans un serveur
très occupé, plusieurs processus peuvent entrer en compétition
pour mettre en cache un même fichier en même temps. Cette option
permet de définir la proportion des processus qui ne tenteront pas
de mettre en cache le même fichier au même instant, exprimée en
pourcentage. Autrement dit, elle définit la probabilité qu'un
seul processus n'essaie pas d'accéder au cache. Par exemple
définir <literal>apc.slam_defense</literal>
à <literal>75</literal> signifie qu'il y a 75% de chance pour
qu'un processus ne mette pas en cache un fichier non présent dans le
cache. Donc plus cette valeur est haute et plus la protection
contre le cache slam est importante. Mettre cette valeur à
<literal>0</literal> désactive cette option.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.enable-cli">
<term>
<parameter>apc.enable_cli</parameter>
<type>int</type>
</term>
<listitem>
<para>
Principalement utilisé pour les tests et le débogage. Définir ce
paramètre permet d'activer APC dans la version CLI de PHP.
En temps normal, il n'est pas idéal de créer, alimenter et
détruire le cache APC à chaque requête CLI. Cependant, dans de
nombreux scénarios de test il est utile de pouvoir activer
facilement APC dans la version CLI de PHP.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.serializer">
<term>
<parameter>apc.serializer</parameter>
<type>string</type>
</term>
<listitem>
<para>
Ce paramètre permet à APC d'utiliser un sérialiseur tiers
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.coredump-unmap">
<term>
<parameter>apc.coredump_unmap</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Active la gestion par APC de signaux, tels que SIGSEGV, qui provoquent
l'écriture de fichiers core dump lorsqu'ils sont reçus. Quand ces
signaux sont reçus, APC essaiera de désallouer le segment de mémoire
partagée réservé à mmap dans le but de l'exclure du fichier core
dump. Cette option peut améliorer la stabilité du système lorsque
des signaux fatals sont reçus et qu'APC est configuré avec un long
segment de mémoire partagée.
</para>
<warning>
<para>
Cette option est potentiellement dangereuse. Désallouer un segment de
mémoire partagée utilisé par mmap dans le gestionnaire de signaux
fatals peut causer un comportement imprévisible si une erreur fatale
survient.
</para>
</warning>
<note>
<para>
Bien que certains noyaux peuvent fournir la possibilité d'ignorer
de nombreux types de mémoire partagée lorsqu'ils génèrent un fichier
core dump, ces implémentations peuvent aussi ignorer d'importants
segments de mémoire partagée tels que le tableau de bord d'Apache.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.preload-path">
<term>
<parameter>apc.preload_path</parameter>
<type>string</type>
</term>
<listitem>
<para>
Optionnel, définit un chemin vers le répertoire où APC chargera
les données du cache au démarrage.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apcu.use-request-time">
<term>
<parameter>apc.use_request_time</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Utilise la requête start time de l'interface <acronym>SAPI</acronym>
pour la durée de vie (<acronym>TTL</acronym>).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->