---
title: 'Linux: PHP5 Sessions zugunsten der Performance im Arbeitsspeicher ablegen'
url: 'https://patrik.kernstock.net/blog/linux-php5-sessions-zugunsten-der-performance-im-arbeitsspeicher-ablegen'
markdown: 'https://patrik.kernstock.net/blog/linux-php5-sessions-zugunsten-der-performance-im-arbeitsspeicher-ablegen.md'
date: '2013-03-17'
description: 'Es gibt viele verschiedene Möglichkeiten die Performance von PHP zu optimieren. Eine der Möglichkeiten ist, die PHP-Sessions in den Arbeitsspeicher anstatt auf die Festplatte auszulagern, da der RAM wesentlich schneller als eine normale Festplatte ist. tmpfs-Mount erstellen'
taxonomy:
  category:
    - Linux
    - 'Web Server & Databases'
  tag:
    - Debian
    - Performance
    - PHP
    - QuickTip
    - tmpfs
    - Tutorial
---

# [Linux: PHP5 Sessions zugunsten der Performance im Arbeitsspeicher ablegen](https://patrik.kernstock.net/blog/linux-php5-sessions-zugunsten-der-performance-im-arbeitsspeicher-ablegen)

   March 17, 2013  (updated March 12, 2015)   2 min 

   [Linux](https://patrik.kernstock.net/category:Linux) [Web Server & Databases](https://patrik.kernstock.net/category:Web%20Server%20%26%20Databases)    [Debian](https://patrik.kernstock.net/tag:Debian) [Performance](https://patrik.kernstock.net/tag:Performance) [PHP](https://patrik.kernstock.net/tag:PHP) [QuickTip](https://patrik.kernstock.net/tag:QuickTip) [tmpfs](https://patrik.kernstock.net/tag:tmpfs) [Tutorial](https://patrik.kernstock.net/tag:Tutorial)  

 Hinweis

Dieser Artikel ist über 13 Jahr(e) alt – Inhalte könnten veraltet sein.

 ![Linux: PHP5 Sessions zugunsten der Performance im Arbeitsspeicher ablegen](https://patrik.kernstock.net/images/p/h/p/-/2/php-25a05694.png?g-b3a1b014 "Linux: PHP5 Sessions zugunsten der Performance im Arbeitsspeicher ablegen") 

**Es gibt viele verschiedene Möglichkeiten die Performance von PHP zu optimieren. Eine der Möglichkeiten ist, die PHP-Sessions in den Arbeitsspeicher anstatt auf die Festplatte auszulagern, da der RAM wesentlich schneller als eine normale Festplatte ist.**

[![php](https://patrik.kernstock.net/images/p/h/p/-/f/php-fabe5450.png?g-b3a1b014)](https://patrik.kernstock.net/user/pages/01.blog/2013-03-17-linux-php5-sessions-zugunsten-der-performance-im-arbeitsspeicher-ablegen/php.png?g-b3a1b014)[![performance](https://patrik.kernstock.net/images/p/e/r/f/o/performance-bd759f05.jpg?g-b3a1b014)](https://patrik.kernstock.net/user/pages/01.blog/2013-03-17-linux-php5-sessions-zugunsten-der-performance-im-arbeitsspeicher-ablegen/performance.jpg?g-b3a1b014)
**tmpfs-Mount erstellen**
Um die Dateien in dem **Arbeitsspeicher auszulagern**, muss vorher ein **normaler Ordner erstellt** werden, welcher **anschließend** in den **Arbeitsspeicher gelegt** wird. Das Dateisystem nennt sich ***[tmpfs](http://de.wikipedia.org/wiki/Tmpfs)*** und wird in diesem Fall unter */opt/tmpfs* erstellt – dieser kann nach belieben geändert werden.

**Ordner erstellen, Rechte zuweisen und das Dateisystem *[tmpfs](http://de.wikipedia.org/wiki/Tmpfs)* zuweisen:**

```sh
mkdir /opt/tmpfs
chmod 0777 /opt/tmpfs
mount -t tmpfs -o size=256M tmpfs /opt/tmpfs
```

Mit *size* kann die **maximale Größe** festgelegt werden, wie viel in den RAM abgelegt werden darf. Sollte **nicht genügend Arbeitsspeicher** und [SWAP](http://de.wikipedia.org/wiki/Swapping) zur Verfügung stehen, können verschiedenste **Probleme** auftreten – kalkuliert daher die Größe ein.

**\*\*File System Table (**/etc/fstab) **anpassen\*\***
Damit der Ordner mit dem Dateisystem [tmpfs](http://de.wikipedia.org/wiki/Tmpfs) **automatisch** beim **Neustart** des **Servers** **erstellt** wird, muss folgende Zeile in die **/etc/fstab** Datei eintragen werden:

`tmpfs  /opt/tmpfs  tmpfs  size=256m,mode=0777  0  0`

**Die php.ini finden**
Als Abschluss muss nun die **richtige php.ini** angepasst werden, damit auch wirklich die **PHP-Sessions in das neue Verzeichnis** (welcher nun im Arbeitsspeicher gelagert wird) unter */opt/tmpfs/* abgelegt werden. **Je nach Einrichtung**, Webserver und PHP-Dienst kann der **Pfad der php.ini variieren**. Bei dem Webserver Apache liegt diese standardmäßig unter */etc/php5/apache2/php.ini*, wobei diese sich bei dem PHP5-Dienst php5-fpm unter */etc/php5/fpm/php.ini* befindet und bei php5-cgi unter */etc/php5/cgi/php.ini*.

Wenn der Ort dennoch nicht bekannt ist, erstellt eine php-Datei mit folgendem Inhalt:

``

Auf dieser Seite finden sich verschiedenste Informationen über PHP wie aktivierte Module und eben auch der aktuelle Pfad der php.ini.

**Die php.ini anpassen**
Es müssen nur **zwei Einstellungen angepasst** werden:

```sh
session.save_handler = files
session.save_path = "/opt/tmpfs"
```

Sollten diese Werte bereits existieren, ändert diese entsprechend ab. Ansonsten fügt diese Zeilen an der passenden Stelle ein.

**Änderungen übernehmen**
Um nun die Änderungen zu übernehmen, muss der Webserver/PHP-Dienst neugestartet werden.

**Apache2:**
`/etc/init.d/apache2 restart`
**PHP5-FPM:**
`/etc/init.d/php5-fpm reload`
*(Sollte ein Reload nicht ausreichen, dann restart verwenden.)*

**Fertig! Das war’s!**
**Fertig!** Die PHP-Sessions werden nun viel schneller unter dem Pfad */opt/tmpfs/* abgelegt und sollte dadurch die **Performance von PHP steigern**. Die Dateien der Sessions beginnen immer mit dem Dateinamen *sess\_* und können mit dem folgenden Befehl **aufgelistet** werden:
`ls /opt/tmpfs/sess_*`
Unter */opt/tmpfs* können **alle** möglichen **Daten abgelegt werden**, die schnell verarbeitet werden sollen und sind nicht nur auf PHP-Sessions begrenzt. Die **Durchschnittsgröße einer Session-Datei bei mir ist etwa 300 Byte** – nicht einmal ein Kilobyte und nach knapp einer Woche mit insgesamt 600 Sessions verbrauchen diese etwa 2 Megabyte an Speicherplatz. Die **Session-Files** brauchen also im **Normalfall kaum an Speicherplatz** und man sollte auf normal-besuchten Seiten keinen großen Speicherverbrauch erwarten.

##     Comments    

 Sort by: 

Loading comments...

---

## Navigation

- Parent: [Blog](https://patrik.kernstock.net/index.md)
- Previous: [Linux: OpenSSL auf Debian Squeeze auf die aktuellste Version aktualisieren](https://patrik.kernstock.net/blog/linux-openssl-auf-debian-squeeze-auf-die-aktuellste-version-aktualisieren.md)
- Next: [Linux: Codezeilen nach Programmiersprache mit cloc zählen](https://patrik.kernstock.net/blog/linux-codezeilen-nach-programmiersprache-mit-cloc-zaehlen.md)
