Skip to content

Latest commit

 

History

History
101 lines (67 loc) · 1.82 KB

performance_pruefen.md

File metadata and controls

101 lines (67 loc) · 1.82 KB

Perfomance prüfen

Queries zählen und ausgeben

1. Datei /redaxo/src/core/lib/response.php öffnen

Suche

// ca. Zeile 126
public static function sendPage($content, $lastModified = null)
{

Ersetze

public static function sendPage($content, $lastModified = null)
{
    header('X-COUNT: '.array_sum(rex_sql::$count));
    if (rex::isDebugMode()) {
        ob_start();dump(rex_sql::$count);$content = ob_get_clean().$content;
    }

2. Datei /redaxo/src/core/lib/sql/sql.php öffnen

Suche

// ca. Zeile 50
protected static $pdo = [];

Ersetze

protected static $pdo = [];

public static $count = [];

--

Suche

// ca. Zeile 266

public function execute(array $params = [], array $options = [])
{
    if (!$this->stmt) {
        throw new rex_sql_exception('you need to prepare a query before calling execute()');
    }

Ersetze

public function execute(array $params = [], array $options = [])
{
    if (!$this->stmt) {
        throw new rex_sql_exception('you need to prepare a query before calling execute()');
    }

    self::$count[$this->query] = (isset(self::$count[$this->query]) ? self::$count[$this->query] : 0) + 1;

--

Suche

// ca. Zeile 342
try {
    $this->stmt = $pdo->query($query);
    $this->rows = $this->stmt->rowCount();

Ersetze

try {
    self::$count[$query] = (isset(self::$count[$query]) ? self::$count[$query] : 0) + 1;
    $this->stmt = $pdo->query($query);
    $this->rows = $this->stmt->rowCount();

3. Anzahl der Queries immer einsehen

Im Response-Header steht unter X-Count die Anzahl aller Queries.

4. Welche Queries wurden aufgerufen

Schaltet man im Backend unter System den Debug Modus an, erscheint auf der Website ein Dump mit der Anzahl der Queries und deren Aufrufe.