mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-23 22:52:12 +01:00
385 lines
14 KiB
XML
385 lines
14 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 804d8a05451c13328eb1192553dcb2374706cabb Maintainer: leonardolara Status: ready -->
|
|
<section xmlns="http://docbook.org/ns/docbook" xml:id="apcu.configuration">
|
|
&reftitle.runtime;
|
|
&extension.runtime;
|
|
<simpara>
|
|
Embora as configurações padrão do APCu são adequadas para muitas instalações, usuários
|
|
devem considerar ajustes para os parâmetros abaixo.
|
|
</simpara>
|
|
<simpara>
|
|
Existe uma decisão a ser tomada ao configurar o APCu:
|
|
quanta memória será alocada ao APCu.
|
|
A diretiva ini que controla isso é <literal>apc.shm_size</literal>,
|
|
leia cuidadosamente as seções sobre este assunto abaixo.
|
|
</simpara>
|
|
<simpara>
|
|
Uma vez que o servidor está em execução, o script <literal>apc.php</literal> que é
|
|
incluído com a extensão deve ser copiado para algum lugar dentro do diretório raiz dos documentos e
|
|
visualizado com um navegador pois ele fornece uma análise detalhada do funcionamento
|
|
interno do APCu. Se a GD estiver habilitada no PHP, ele irá mostrar inclusive alguns
|
|
gráficos interessantes.</simpara>
|
|
<simpara>
|
|
Se o APCu estiver funcionando, o número <literal>Cache full count
|
|
</literal> (na esquerda) mostrará o número de vezes que o cache
|
|
atingiu a capacidade máxima e teve que despejar entradas para liberar memória.
|
|
Durante o despejo, se <literal>apc.ttl</literal> foi especificado, o APCu inicialmente
|
|
tentará remover entradas expiradas, isto é, entradas cujo TTL tenha expirado ou
|
|
entradas que não tenham o TTL definido e não tenham sido acessadas nos últimos
|
|
<literal>apc.ttl</literal> segundos. Se <literal>apc.ttl</literal> não foi definido,
|
|
ou se a remoção de entradas expiradas não liberou espaço suficiente, o APCu limpará
|
|
o cache inteiro.
|
|
</simpara>
|
|
<simpara>
|
|
O número de despejos deve ser mínimo em um cache bem configurado. Se o
|
|
cache está constantemente atingindo o limite, e por isso sendo liberado à força,
|
|
a agitação resultante terá efeitos depreciativos no desempenho do script. A maneira mais fácil
|
|
de minimizar este número é alocar mais memória para o APCu.
|
|
</simpara>
|
|
<simpara>
|
|
Quando o APCu é compilado com suporte a mmap (Mapeamento de Memória), ele usará somente um
|
|
segmento de memória, ao contrário de quando for compilado com suporte a SHM (Memória Compartilhada SysV)
|
|
que usa múltiplos segmentos. MMAP não tem um limite máximo como o SHM
|
|
em <literal>/proc/sys/kernel/shmmax</literal>. Em geral o suporte MMAP é
|
|
recomendado porque ele irá recuparar a memória mais rapidamente quando o servidor web for
|
|
reiniciado e, sumazirando, reduzirá o impacto na alocação de memória na inicialização.
|
|
</simpara>
|
|
<para>
|
|
<table>
|
|
<title>Opções de configuração 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/>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.apcu.shm-segments">apc.shm_segments</link></entry>
|
|
<entry>1</entry>
|
|
<entry><constant>INI_SYSTEM</constant></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/>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.apcu.entries-hint">apc.entries_hint</link></entry>
|
|
<entry>512 * apc.shm_size</entry>
|
|
<entry><constant>INI_SYSTEM</constant></entry>
|
|
<entry>Antes do APcu 5.1.25, o padrão era 4096</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.apcu.ttl">apc.ttl</link></entry>
|
|
<entry>0</entry>
|
|
<entry><constant>INI_SYSTEM</constant></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/>
|
|
</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/>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.apcu.slam-defense">apc.slam_defense</link></entry>
|
|
<entry>0</entry>
|
|
<entry><constant>INI_SYSTEM</constant></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/>
|
|
</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>Antes do APCu 5.1.19, o padrão era <literal>1</literal>.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.apcu.serializer">apc.serializer</link></entry>
|
|
<entry>"php"</entry>
|
|
<entry><constant>INI_SYSTEM</constant></entry>
|
|
<entry>Antes do APCu 5.1.15, o padrão era <literal>"default"</literal>.</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/>
|
|
</row>
|
|
<row>
|
|
<entry><link linkend="ini.apcu.preload-path">apc.preload_path</link></entry>
|
|
<entry>NULL</entry>
|
|
<entry><constant>INI_SYSTEM</constant></entry>
|
|
<entry/>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
&ini.php.constants;
|
|
</para>
|
|
|
|
&ini.descriptions.title;
|
|
|
|
<variablelist>
|
|
<varlistentry xml:id="ini.apcu.enabled">
|
|
<term>
|
|
<parameter>apc.enabled</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>apc.enabled</literal> pode ser definido para 0 para desabilitar o APC. Isto é
|
|
útil principalmente quando o APC é compilado estaticamente
|
|
no PHP, já que não há outra maneira de desabilitá-lo
|
|
(quando compilado como um DSO, a linha <literal>extension</literal>
|
|
no <literal>php.ini</literal> pode ser simplesmente comentada).
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.shm-segments">
|
|
<term>
|
|
<parameter>apc.shm_segments</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
O número de segmentos de memória compartilhada a alocar
|
|
para o cache do compilador. Se o APC estiver com pouca
|
|
memória compartilhada mas <literal>apc.shm_size</literal>
|
|
estiver definido com um valor tão alto quanto o sistema permite, aumentar
|
|
este valor pode evitar que o APC tenha a memória exaurida.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.shm-size">
|
|
<term>
|
|
<parameter>apc.shm_size</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
O tamanho de cada segmento de memória compartilhada, informado como uma notação reduzida
|
|
como descrito <link linkend="faq.using.shorthandbytes">neste FAQ</link>.
|
|
Por padrão, alguns sistemas (incluindo a maior parte das variantes
|
|
BSD) têm limites muito baixos no tamanho de um
|
|
segmento de memória compartilhada.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.entries-hint">
|
|
<term>
|
|
<parameter>apc.entries_hint</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Uma "pista" sobre o número de variáveis distintas que podem ser armazenadas.
|
|
Defina para zero ou omita se não tiver essa informação.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.ttl">
|
|
<term>
|
|
<parameter>apc.ttl</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Considera que entradas de cache sem um TTL explícito estão
|
|
expiradas se não foram acessadas nos segundos definidos por esta
|
|
diretiva. Efetivamente, isto permite que tais entradas sejam
|
|
removida oportunamente durante uma inserção de cache ou antes de
|
|
uma eliminação completa. Observe que devido à remoção ser
|
|
oportunap, as entradas ainda podem ser lidas mesmo se
|
|
forem mais antigas que <literal>apc.ttl</literal> segundos.
|
|
Esta configuração não tem efeito em entradas de cache que tenham
|
|
um TTL explícito especificado.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.gc-ttl">
|
|
<term>
|
|
<parameter>apc.gc_ttl</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
O número de segundos que uma entrada de cache pode
|
|
permanecer na lista de coleta de lixo após ser removida ou inicializada.
|
|
Uma entrada é elegível a remoção se sua contagem de referência for zero,
|
|
ou se exceder este limite de tempo.
|
|
Se definido para <literal>0</literal>, a limpeza baseada em tempo é desativada,
|
|
e as entradas só serão removidas quando suas contagens de referência caírem para zero.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.mmap-file-mask">
|
|
<term>
|
|
<parameter>apc.mmap_file_mask</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Se compilado com suporte MMAP usando <literal>--enable-mmap</literal>
|
|
esta é a máscara de arquivo em estilo mktemp a ser passada ao
|
|
módulo mmap para determinar se a região de memória mapeada pelo MMAP
|
|
será apoiada por arquivo ou apoiada por memória
|
|
comparilhada. Para MMAP diretamente apoiada por arquivo, defina para
|
|
algo como <literal>/tmp/apc.XXXXXX</literal>
|
|
(exatamente 6 <literal>X</literal>).
|
|
Oara usar shm_open/mmap em estilo POSIX, insira um <literal>.shm</literal>
|
|
em algum lugar da máscara (por exemplo, <literal>/apc.shm.XXXXXX</literal>).
|
|
Pode-se também defini-la para <literal>/dev/zero</literal> para usar a
|
|
interface <literal>/dev/zero</literal> do kernel para memória mapeada
|
|
anonimamente. Deixar este valor indefinido força um mapeamento anônimo.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.slam-defense">
|
|
<term>
|
|
<parameter>apc.slam_defense</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Em um servidor muito ocupado, toda vez que ele for reiniciado
|
|
ou quando arquivos forem modificados, pode-se criar uma condição de corrida onde muitos
|
|
processos tentam inserir o mesmo arquivo no cache ao mesmo tempo.
|
|
Definir <literal>apc.slam_defense</literal> para <literal>1</literal>
|
|
pode ajudar a evitar que múltiplos processos tentem fazer cache do
|
|
mesmo arquivo ao mesmo tempo, através da introdução de um mecanismo
|
|
probabilístico. Se a mesma chave sofrer tentativa de cache
|
|
dentro de um intervalo curto de tempo por diferentes processos, ele
|
|
pula a tarefa de cache do processo atual para mitigar potenciais
|
|
conflitos de cache.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.enable-cli">
|
|
<term>
|
|
<parameter>apc.enable_cli</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Esta diretiva serve principalmente para teste e depuração. Habilita APC
|
|
para a versão CLI do PHP. Em circunstâncias normais, não é
|
|
ideal criar, popular e destruir o cache APC a cada
|
|
requisição CLI, mas para vários cenários de teste é útil para
|
|
ser capaz de habilitar o APC para a versão CLI do PHP facilmente.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.serializer">
|
|
<term>
|
|
<parameter>apc.serializer</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Usada para configurar o APC para usar um serializador de terceiros.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.coredump-unmap">
|
|
<term>
|
|
<parameter>apc.coredump_unmap</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Habilita o gerenciamento APC de sinais, tal como SIGSEGV, que grava
|
|
arquivos de núcleo quando sinalizado. Quandos esses sinais são recebidos,
|
|
o APC tentará desmapear o segmento de memória compartilhada para
|
|
excluí-lo do arquivo de núcleo. Esta configuração pode melhorar
|
|
a estabilidade do sistema quando sinais fatais são recebidos e um grande
|
|
segmento de memória compartilhada APC estiver configurado.
|
|
</simpara>
|
|
<warning>
|
|
<simpara>
|
|
Este recurso é potencialmente perigoso. Desmapear o segmento de memória
|
|
compartilhada em um gerenciador de sinal fatal pode causar comportamento
|
|
indefinido de um erro fatal ocorrer.
|
|
</simpara>
|
|
</warning>
|
|
<note>
|
|
<simpara>
|
|
Embora alguns kernels possam fornecer um recurso para ignorar vários
|
|
tipos de memória compartilhada ao gerar um arquivo de despejo de núcleo, estas
|
|
implementações podem também ignorar segmentos de memória compartilhada importantes
|
|
tal como o Scoreboard do Apache.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="ini.apcu.preload-path">
|
|
<term>
|
|
<parameter>apc.preload_path</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Opcionalmente, define um caminho para o diretório onde o APC irá carregar
|
|
dados de cache na inicialização.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="ini.apcu.use-request-time">
|
|
<term>
|
|
<parameter>apc.use_request_time</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<simpara>
|
|
Usa o horário de início da requisição <acronym>SAPI</acronym> para o
|
|
<acronym>TTL</acronym>.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</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
|
|
-->
|