apc

2012-07-03 19 views
5

'u devre dışı bırakın veya kaldırın uCuntu 11.04 linux'uma APC yükledim ve APC olmadan PHP üzerinde hız artışının ne olduğunu görmek için bazı performans değerlendirmeleri yapmak istiyorum ancak APC'yi nasıl devre dışı bırakacağımı/kaldırmayı bilmiyorum.apc

Apc.ini dosyamı boşaltmayı denedim ancak çalışmadı. Yine de ilk kez bir sayfa yükledikten sonra, sayfa önbelleğe kaydedilir ve sayfayı yüklediğimde ikinci kez çok daha hızlı yüklenir.

Zamanı ölçmek için kullandığım bir PHP dosyası.

extension=apc.so 

By:

;extension=apc.so 

yılında:

<?php 
    function getTime() 
     { 
     $a = explode (' ',microtime()); 
     return(double) $a[0] + $a[1]; 
     } 
    $Start = getTime(); 
    ?> 
    <?php require_once("includes/connection.php");?> 
    <?php require_once("includes/functions.php");?> 
    <?php 
     find_selected_page(true); 
    ?> 
    <?php require_once("includes/header.php");?> 

     <table id="structure"> 
      <tr> 
       <td id="navigation"> 
        <?php echo navigation_public($sel_subject,true); 
         //   $sel_page is sent as a GLOBAL so that we can reuse is in the page area 
        ?> 
       </td> 
       <td id="page"> 
        <?php 

         if($sel_page!=NULL) 
         { 
          echo "<h2>".htmlentities($sel_page['menu_name'])."</h2>"; 
          echo "<p>".strip_tags(nl2br($sel_page['content']),"<b><br><p><a>")."</p>"; 
         } 
         else if($sel_subject!=NULL) 
         { 
          echo "<h2>".$sel_subject['menu_name']."</h2>"; 
         } 
         else 
         { 
          echo "<h2>Welcome to Widget Corp</h2>"; 
         } 
        ?> 
       </td> 
      </tr> 
     </table>  
     <?php 
    $End = getTime(); 
    echo "Time taken = ".number_format(($End - $Start),3)." secs"; 
    ?> 
    <?php require("includes/footer.php");?> 
+0

'apc.ini' Çıkarma dosya yeterli olmalı, bu dosyayı temizledikten sonra Apache'yi yeniden başlattınız mı? – lanzz

+0

İçeriği kaldırdım. Dosyanın kendisi değil. Ve evet sudo /etc/init.d/apache2 restart'ı kullanarak apache'imi yeniden başlattım. –

cevap

11
Değişim

/etc/php5/apache2/conf.d/apc.ini 

Ve yeniden Apache sunucusu:

apache2ctl graceful 
+0

Üzgünüz, ancak sayfaların hızının hala artıyor gibi görünüyor. Tarayıcıda apc.php yüklediğimde bana "Önbellek bilgisi yok. APC çalışıyor görünmüyor." ancak ilk kez bir sayfa yüklediğimde 0,059 saniye sürüyor ve ikinci ve üçüncü saat ve benzeri yaklaşık 0,010 saniye sürüyor. –

+4

Sayfaların performansını ölçmek için metodolojiniz ** yanlış **. PHP'nin betiği çalıştırmak için harcadığı zamanı ölçüyorsunuz - ancak opcode önbellekleri ** betiği parse ** 'ya çıkarmak için harcanan süreyi hızlandırır - sonuçta elde edilen veri yapısı aynıdır ve aynı şekilde işlenir. Performans farkını ölçmek istiyorsanız, o zaman apache log'unda% D'ye bakın ya da firebug vb. Kullanın – symcbean

+0

@DragosC. Bu performans dengesini sağlayan başka bir önbellek olmalı. (büyük olasılıkla web uygulamanızı yazdığınız sistemde öntanımlı olarak önbellek). – Cesc

6

apc.enabled, php.ini 'dan APC'yi devre dışı bırakmak için 0'a ayarlanabilir Web sunucunuzu veya php-fpm'yi yeniden başlatın.

7

Kök izni ile aşağıdaki komutu girebilirsiniz:

pecl uninstall apc 
0

komut dosyası daha sonra php dosyasının 1. satırından üzerine koydu aşağıdaki kullanabilirsiniz,

apc_clear_cache();