Select Page

NETWAYS Blog

Redis Eviction Policies

After install Redis you don’t have any settings configured to control memory consumption. In Production this brings OOM to the arena which leads into a broken applications.

First thingy what users do is to configure MaxMemory config setting (like me of course ;-)). In combination with a noeviction policy (which is also the default) the documentation says:

[…] return errors when the memory limit was reached and the client is trying to execute commands that could result in more memory to be used (most write commands, but DEL and a few more exceptions).

The bad news is, you’ll have a broken application again. Most web apps just use Redis as an uncontrolled cache data sink and left over to you how to handle it. For 99.9% of the use-cases you just need to configure a cache policy, or in Redis-speech, an Eviction Policy, which means:

maxmemory 128mb
maxmemory-policy allkeys-lru
maxmemory-samples 10

1. You allow roughly 128MB of memory for Redis
2. Redis tries to remove the less recently used (LRU) keys first
3. Because LRU is not a exact LRU algo, you use 10 samples to help the algorithm to find the items

Try to explain by counters:

Icinga Redis Plugin Output:

Above is a icinga redis check plugin output. Which shows a roundabout memory use of 108% – which is more than the configured 128M 100% base.

Grafana Graph (Telegraf Redis Input Plugin)

Here is the config change made on the 02/04 down to 128M MaxMemory and the LRU Eviction Policy. The memory footprint stays the same. The change is more granular if you zoom in:

If the allkeys-lru does not work for you, give the documentation a try. There is a lot you can do to keep your applications up and running and make Redis a fluently easy dependency.

Marius Hein
Marius Hein
Head of ITSM

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert, dann als Application Developer gearbeitet und ist nun Leiter der Softwareentwicklung. Ausserdem ist er Mitglied im Icinga Team und verantwortet dort das Icinga Web.

Ab in den Wald!

This entry is part 9 of 10 in the series Just fit – Just awesome

Kurzer Abriss

Wir Deutschen besitzen eine tiefe Verbundenheit zu unseren Wäldern. Das spüren wir wenn wir durch ihn durch spazieren. Damit meine ich jetzt nicht nur die “historische” Verbundenheit wie z.B. Versorgung, Okkultismus, Dämonen oder Wölfe. Bereits in meinem kurzen Leben geht es immer mal wieder um den Wald. Da gab es z.B. die Katastrophe von Tschernobyl, welche bis heute Auswirkungen auf das Waldleben hat. Dann hatten wir einige ominöse Waldsterben in den 80er Jahren welche plötzlich verschwunden sind und wir haben mehr oder minder erfolgreiche Aufforstungspläne miterlebt. In Deutschland werden gerne auch mal Bäume gezählt, inventarisiert (Bundeswaldinventur) oder mit Barcodes ausgestattet.

Das eigentlich Positive oder “Warum denn der Wald für uns wichtig ist”, war immer nur ein Gefühl wenn man ihn betritt. In den letzten Jahren allerdings rückt der Wald immer stärker in den gesundheitlichen Fokus. Das könnte auch daran liegen, dass wir einfach mehr über dessen Ökosystem und Lebensformen wissen und wir nach und nach einen verständigeren Blick entwickeln. Aber auch Bücher wie “Das geheime Leben der Bäume” von Peter Wohlleben tragen dazu bei, dass man sich wieder mehr mit dem Wald beschäftigt.

Was macht er denn nun, der Wald

Er wirkt positiv auf uns Menschen – und das ganz massiv. Das merkt man immer dann wenn Menschen keinen Zugang zum Wald haben. Was bei allgegenwärtiger Urbanisierung nicht besonders schwer sein dürfte.

Menschen, die sich häufig im Wald aufhalten leiden weniger an den typischen Zivilisationskrankheiten, also z.B. Bluthochdruck, Krebs oder Depressionen. Das hat besonders mit beruhigenden Faktoren zu tun: Der Wald dämpft Geräusche, beruhigt das Auge und besitzt ein eigenes Mikroklima. Die Gedanken kommen zu ruhe und die Luft erfrischt unseren Körper. Dadurch sinkt der Cortisolspiegel und wir fühlen uns weniger gestresst. Auch stellt der Wald komplexe Gerüche für unsere Nase bereit. Diese Terpene (Phytonzide) werden von Pflanzen als Kommunikationsmittel oder als Insektenschutz verwendet. Uns Menschen inspirieren diese “harzigen” Gerüche und steigern nach­ge­wie­se­ner­ma­ßen die Menge der Abwehrzellen in unserem Körper. Durch mäßige körperliche Aktivität wird außerdem das Herz-Kreislauf-System positiv gefördert.

Es gibt mittlerweile zig Studien, welche die oben genannten positiven Eigenschaften belegen und noch viele mehr aufzeigen. Ich wage es allerdings zu bezweifeln, dass ein so komplexes System wie der Wald in seine einzelnen Wirkbestandteile aufgeteilt werden kann und sollte. Es gibt aber einen nachgewiesenen Unterschied zwischen einem Stadtspaziergang, einem Sonnenbad in einer Heidelandschaft und dem Verweilen im Wald – Das ist wichtig!

Fazit

Deutschland ist ca. zu einem Drittel mit Wald bedeckt und das sollten wir nutzen. Hin und wieder einen Spaziergang im Wald, vielleicht Pilze sammeln (und jemand fragen der sich mit Speisepilzen auskennt) und ein positives Verhältnis zum Wald und dessen Bewohner aufbauen. Das entspannt Körper, Geist und Seele und hält fit. Jogger oder Radfahrer können ihre Runden im Wald drehen. Und wer die Möglichkeit hat, kann auch mit dem Laptop ins Gehölz gehen, ein Buch lesen, picknicken oder die nächste Yoga-Session in den Wald verlegen – oder neudeutsch: “Waldbaden”

Man wird im Allgemeinen überrascht sein, was man alles dort erleben kann!

Für mich persönlich ist es einfacher und außerdem nachhaltiger in den “eigenen” nächstgelegenen Wald zu gehen als mit dem SUV 100km in die nächste Therme zu brettern, um sich zu entspannen.

Marius Hein
Marius Hein
Head of ITSM

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert, dann als Application Developer gearbeitet und ist nun Leiter der Softwareentwicklung. Ausserdem ist er Mitglied im Icinga Team und verantwortet dort das Icinga Web.

Facebook: Endlich Ruhe

Auch wenn sich Facebook – zumindest in meinem Umfeld – auf dem absteigenden Ast bewegt, kommt man trotzdem nicht daran vorbei. Manchmal passiert wohl was wichtiges, dann “muss” man doch mal etwas posten oder eine ganz besondere Nachricht verfassen. Bevor man aber soweit ist, wird man erstmal vom Facebook News Feed erschlagen

Der News Feed war mal eine ganz tolle Geschichte. Aber irgendwann hat Facebook damit begonnen mehr Werbung drauf zu packen und bei Posts eine seltsame Gewichtung vorzunehmen. Das Ergebnis ist meterweise Blödsinn, den kein Mensch dieser Welt braucht 😉

Zur Lösung des Problems gibt es für Chrome eine Extension namens News Feed Eradicator for Facebook. Dieses Tool entfernt den News Feed vollständig und zeigt stattdessen ein mehr oder weniger sinnvolles Zitat eines wichtigen Menschen an z.B. von Laozi (einer dieser weißhaarigen alten Männer die für jede Lebenslage einen äußerst bedeutungsschwangeren Spruch bereithalten).

Na also, Facebook, geht doch! Gleich viel besser 😉 – Danke dafür!

Als Bonus obendrauf ist der Eradicator eine Vorzeigeextension für den Browser. Zugriff nur auf Facebook URL’s, keine Permissions um die komplette Historie auszulesen (obwohl man eigentlich nur einen Farbwert berechnen wollte) und die Quotes sind Offline in der Extension hinterlegt. Ein absolut fettes datenschutzrechtliches Brett in Zeiten von Cambridge Analytica.

Marius Hein
Marius Hein
Head of ITSM

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert, dann als Application Developer gearbeitet und ist nun Leiter der Softwareentwicklung. Ausserdem ist er Mitglied im Icinga Team und verantwortet dort das Icinga Web.

Cleanup your Docker Environment

Using Docker is pretty common meanwhile and a very good idea for development. Using many versions of your favourite language without messing up your host system, different types of deployments (e.g. web servers) or just testing production environment without operational support. The only drawback is that normally you don’t have a clue what’s going on behind the scenes. If you run out of disk space for the first time, you’re exactly at that point.

To apply first aid, you will be advised to use some curious cli hacks to clean up your system. Breaking fingers between grep, sed and awk works out well but is not very helpful – Especially if you want to remember what you did 3 months before 😉

Since Docker Api version 1.25 you have a couple of high level cli commands available doing exactly this job:

Minimal Cheat Sheet:

$ # Claimed disk space
$ docker system df
TYPE            TOTAL       ACTIVE      SIZE          RECLAIMABLE
Images          59          5           10.74GB       9.038GB (84%)
Containers      6           1           991kB         991kB (99%)
Local Volumes   216         1           5.876GB       5.876GB (100%)
Build Cache     0           0           0B            0B

$ # Cleanup disk space
$ docker system prune
WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all dangling build cache
Are you sure you want to continue? [y/N] Y
Deleted Containers:
02401e1555e8e752d36198d982b5e4114d0999c7cca34a2353e8dc332faa4db5
997eac76d4a46515797027103967c61b46219ff8c70f6e0bb39bc2b975297fa5
23983ed8abaa60198b497e4b3788bb6de7d39d03f171f43e4ee865c0df318ab8
65bb90b9e7edcd2d13da3129664f8b74a72b011d56136cb28c687f1f8dd8e473
5218788bff77cc0c0cc03f79888ea61c3e27bf3ef0003e41fc231b8b6ecdcdc2

Deleted Images:
deleted: sha256:dccdc3cf7d581b80665bad309b66ba36d88219829e1ade951912dc122b657bfc
[...]

There is also an equivalent for images only:

$ docker image prune

You should definitely take a deeper look into the CLI commands. There are a lot of things that helps you to solve your every day problems!

Marius Hein
Marius Hein
Head of ITSM

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert, dann als Application Developer gearbeitet und ist nun Leiter der Softwareentwicklung. Ausserdem ist er Mitglied im Icinga Team und verantwortet dort das Icinga Web.

Mac Helper: Finder

Die Standardwerkzeuge im Mac sind alle samt schon ziemlich gut. Für mich aber eine der Ausnahmen: Der Finder! Meistens finde ich mich dann mit 10 offenen Fenstern wieder oder ich verschiebe das Zeug in andere Verzeichnisse, weil die Oberfläche nicht schnell genug reagiert (Tabs wechseln, Verzeichnisse expandieren). Entnervt erledige ich dann die Überbleibsel im Terminal.

 

Alfred Workflow

Standardmäßig gibt es einen “Open-Workflow” in Alfred. Dieser öffnet entweder Dateien oder Verzeichnisse. Aber es geht noch besser: “Open Finder Tab“. Dabei bleibt ein Fenster offen und es werden weitere Tabs hinzugefügt:

Yoink

Wie schaut es dann mit anderen Artefakten aus? Mails, Preview oder URL’s? Dafür bin ich vor einiger Zeit auf Yoink gestoßen. Yoink ist ein kleiner temporärer Container allgemein Dateireferenzen zwischenspeichern kann. Dies können z.B. URL’s sein, Inhalt der Zwischenablage, Dateien. Dabei integriert es sich Nahtlos in die Oberfläche mit einem kleinen Fenster, was bei “Drag and drop” Operationen eingeblendet wird.

 

Beide Tools, Alfred wie auch Yoink sind nicht kostenfrei sind aber definitiv den Einkauf wert. Mir erleichtern sie massiv die tägliche Arbeit mit dem Finder!

Marius Hein
Marius Hein
Head of ITSM

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert, dann als Application Developer gearbeitet und ist nun Leiter der Softwareentwicklung. Ausserdem ist er Mitglied im Icinga Team und verantwortet dort das Icinga Web.

Veranstaltungen

Mar 02

Icinga 2 Fundamentals Training | Online

March 2 @ 09:00 - March 5 @ 17:00
Mar 09

Ansible Fundamentals Training | Online

March 9 @ 09:00 - March 11 @ 17:00
Mar 12

Ansible AWX (Tower) Training | Online

March 12 @ 09:00 - 17:00
Mar 23

GitLab Advanced Training | Online

March 23 @ 08:00 - March 25 @ 17:00
Mar 23

Ansible Advanced Training | Online

March 23 @ 09:00 - March 24 @ 17:00