2012-07-03 16 views
5

Ich installierte APC auf meinem Ubuntu 11.04 Linux und ich möchte einige Leistungsbenchmarks machen, um zu sehen, was die Geschwindigkeitsverbesserung gegenüber PHP ohne APC ist, aber ich weiß nicht, wie ich die APC deaktivieren/entfernen kann.Deaktivieren oder entfernen apc

Ich habe versucht, meine apc.ini-Dateien zu leeren, aber es hat nicht funktioniert. Noch nachdem ich eine Seite zum ersten Mal geladen habe, wird die Seite im Cache gespeichert und das zweite Mal, wenn ich die Seite lade, wird sie viel schneller geladen.

Hier ist eine PHP-Datei, die ich verwende, um die Zeit zu messen.

<?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

die 'apc.ini' Entfernen Datei sollte ausreichen, haben Sie Apache neu gestartet, nachdem Sie diese Datei gelöscht haben? – lanzz

+0

Ich habe den Inhalt entfernt. Nicht die Datei selbst. Und ja, ich habe meinen Apache mit dem sudo /etc/init.d/apache2 restart neu gestartet. –

Antwort

11

Wechsel:

extension=apc.so 

Von:

;extension=apc.so 

In:

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

und starten Sie Apache-Server:

apache2ctl graceful 
+0

Es tut mir leid, aber es scheint, dass die Geschwindigkeit meiner Seiten noch verbessert wird. Wenn ich apc.php im Browser lade, sagt es mir "Keine Cache-Informationen verfügbar. APC scheint nicht zu laufen." aber wenn ich eine Seite zum ersten Mal lade, dauert es 0,059 Sekunden und das zweite und dritte Mal und so weiter dauert es etwa 0,010 Sekunden. –

+4

Ihre Methode zum Messen der Leistung von Seiten ist ** falsch **. Sie messen die Zeit, die PHP benötigt, um das Skript auszuführen - aber Opcode-Caches beschleunigen die Zeit, die zum Analysieren des Skripts benötigt wird - die resultierende Datenstruktur ist die gleiche und wird auf die gleiche Weise verarbeitet. Wenn Sie den Leistungsunterschied messen möchten, dann sehen Sie sich% D im Apache-Log an - oder verwenden Sie Firebug etc. – symcbean

+0

@DragosC. Sie müssen einen anderen Cache aktiviert haben, der diese Leistung verbessert. (höchstwahrscheinlich der Cache standardmäßig in welchem ​​System auch immer Sie Ihre Webanwendung schreiben). – Cesc

6

apc.enabled kann auf 0 gesetzt werden, um APC von php.ini zu deaktivieren Dann starten Sie Ihren Webserver oder php-fpm neu.

7

Sie können den folgenden Befehl mit root-Berechtigung eingeben:

pecl uninstall apc 
0

Sie verwenden können folgende Skript dann auf 1. Zeile Ihrer PHP-Datei setzen,

apc_clear_cache();