Fri, Jun 19, 2020
There is a enterprise counterpart of OpenLiteSpeed, LiteSpeed. LiteSpeed
has the big advantage that you can just point it to your existing Apache httpd
configuration and it should all work fine. That is not wat we are going to
test. The statement is that LiteSpeed + LiteMage is a lot faster compared
to a Varnish cache setup for Magento 2. The added statement is also its a
lot easier to setup. We are comparing a paid product with an Open Source
product, but they are technically competing in the same space.
Tue, Jun 16, 2020
OpenLiteSpeed looks like a nice and fancy webserver, but how does it compare in
terms of performance to the webservers we usually use. We are mostly interested
in how it compares to Apache httpd and Nginx.
After this blogpost was posted, the nice people of Litespeedtech reached out
to verify some things. They found there is a big difference between siege and
other stress test tools. So I’ll run the tests again with an updated siege
configuration and see if it makes a huge difference. Once the new tests are
completed, the blogpost will be updated and thisone will stay available for
reference.
Fri, Jun 12, 2020
Since we all get used to use one piece of software, Lets stir up the pot. We
are mostly using nginx and apache httpd for webserver. But there is a
replacement for apache httpd which supports .htaccess
files, meaning we can
switch very easily to it, called OpenLitesSpeed. OpenLiteSpeed is the free
and Open Source “counterpart” of the LiteSpeed server by litespeedtech. It
claims to be faster than Nginx and Apache httpd. And as an extra, it can handle
.htaccess
files, so many applications will work just out-of-the-box.
Sat, May 30, 2020
Ever since the repo “kconfig-hardening-check” appeared I was interested to
know what the potential impact was on performance when you apply all those
changes. You can find the repo on Alexander Popov’s github:
kconfig-hardening-check
Thu, May 21, 2020
Firecracker “Secure and fast microVMs for serverless computing”. That
triggers a lot, secure, fast and serverless, so something with containers? So
Lets play around with firecracker and see what it can do.
Tue, May 12, 2020
Following up on what was written about mysql / percona memory usage tests which were basically benchmarks on a local machine. Do these results even hold up with real production data and production usage?
Since we already had some issues where the memory consumption was very high, we sort of jumped fast to use jemalloc since that was the preferred way of running mysql. We alreay had experience with jemalloc for other workloads on mysql and there we had good results.
Thu, Apr 23, 2020
Recently we did some upgrades at work which were also updating the base OS. In general we did not expect too many issues since we were running tests and the operation of all parts was looking good.
After the upgrades we noticed something was off with mysql. Some mysql machines were killing mysqld because of OOM (out-of-memory). You’ll see the kills with journalctl or in your syslog.
kernel: [1412367.803012] Killed process 98651 (mysqld) total-vm:61264768kB, anon-rss:25002552kB, file-rss:0kB, shmem-rss:0kB kernel: [1412369.
Tue, Oct 22, 2019
The “Oh I forgot” moment
21 october, late in the afternoon, suddenly it pops in my mind - Damn some
letsencrypt certificates are about to expire and I ignored all notifications.
That was 17.00h and the certificates were expiring at 19.00h. First ofcourse
have diner, do something with the kids, get them to bed, …
So yeah 20.00h when I started looking at it. Somewhere due lack of updates or a
configuration bug, the script that was meant to update my letsencrypt
certificates failed. And I blatantly ignored multiple notifications the
certificates were about to expire. So all entirely my fault.
Sat, Aug 24, 2019
A recent update in Chrome (Blink) based browsers added the functionality to
control media playing via the media buttons on your keyboard. As a side effect
you can also control media on a remote system if you use something like KDE
Connect. But what if you don’t want this behaviour and want your media controls
to just control your actual media player?
Thu, May 30, 2019
Filesystems I’m only going to talk about Linux filesystems here.
In general most people use ext4 for their Linux installations, because that is the default in the biggest distributions. I personally have always been a fan of xfs because I always was under the impression xfs has always been very fast for the things I wanted to do. Another filesystem I very much like is btrfs because of the features it provides, this can be controversial because there are a lot of people who have had some negative experience with btrfs and performance or sudden dataloss.
Wed, May 22, 2019
My goals
I want to be able to update my machine at any time without having to waste a
lot of time waiting for stuff to download. Over the years I’ve had my fair
share of small issues occuring when doing an update on a system running a
“desktop”. So for a few years now I do my updates when logged out of a
“desktop” in a tty.
Thu, Mar 28, 2019
Help my client is complaining some parts of the application are slow. Now what?
Thu, Feb 14, 2019
To suit my personal preferences and diverting package choices compared to stock
arch linux I have created a simple reinstall script to suit my needs.
goal
The goal is to have a somewhat uniform way of installing my machines and have
full disk encryption for root. Here the unlock key is stored on a portable usb
device for additional security. You can argue about the added value over a
password, but I like it this way.
The script should also enable me to install a new machine fairly quickly
without having to do all the things manually. So if I want to use Deepin
desktop, Plasma desktop, i3 or fluxbox, I want to get a working set of packages
which I can start working with. Eventually there might be packages I need to do
something extra, but I just tried to have a sane default for myself.
Sat, Feb 2, 2019
Help my client is complaining some parts of the application are slow. Now what?
Fri, Jan 25, 2019
We always start with the best intentions when we create a new project. But over
time we might end up with parts of our code that are hard to read or/and
understand.
Wed, Nov 28, 2018
Help my client is complaining some parts of the application are slow. Now what?
Tue, Nov 27, 2018
Help my client is complaining some parts of the application are slow. Now what?
Sat, Oct 6, 2018
When you are already developing your Magento 2 application using Docker, it
would nice to be able to deploy it using Docker.
Sat, Sep 22, 2018
Help my client is complaining some parts of the application are slow. Now what?
Tue, Jul 24, 2018
Help my client is complaining some parts of the application are slow. Now what?
Tue, Jun 12, 2018
We always start with the best intentions when we create a new project. But over
time we might end up with parts of our code that are hard to read or/and
understand.
Mon, Jun 4, 2018
Surprise, I went to Meet Magento NL 2018. Actually this was a little surprise for me too. Originally I had submitted a few talks for this conference, but I did not know how it went. Since we already discussed at work to go to DPC 2018 I thought, maybe next year. Around 2 weeks before the event I got an email from Sander telling me something went wrong with the feedback on my proposals and they were offering me a ticket to attend the conference. I was happy with the proposal but still doubted shortly if I would go or not since that would be 2 weeks in a row going away, and I still have work to to in our house. But I really wanted to see some people speak and was interested to hear their experiences. So there I went, to Meet Magento NL 2018.
Fri, Jan 26, 2018
How do we get started with docker swarm and how do we get to the point we can
properly deploy and update our php applications.
Do we need central logging, metrics, alerting to have confidence in our swarm.
Wed, Sep 27, 2017
In this talk we’ll speak about some of the complexities of Magento2 to get it deployed. And how you can automate all these complexities so you can rest assured your site will stay online even when you just pushed something that breaks the whole site.
Tue, Aug 22, 2017
How do we get started with docker swarm and how do we get to the point we can
properly deploy and update our php applications. Can we just add and remove
nodes, what about our data?
Tue, Aug 15, 2017
I am a huge fan of shell scripting. But recently it did give me very unexpected
behaviour which lead me to start using python for “shell” scripts.
What happened? I was trying to create helpers that called other helpers and
passed the arguments with “$@”. This worked fine for a very long time until you
pass along strings like ‘-e “CREATE DATABASE foo”’ to a shell script.
Sat, Aug 5, 2017
I want to explain why running everything in containers is an improvement over
install all your required software on a server. How containers can help us
build better quality software faster.
Wed, Dec 7, 2016
Signal handling in PHP? Are we searching for alien signals coming from space? No its all about handling system signals while executing cli scripts / apps. What happens to my script when I press <ctrl+c>. Can I run a cleanup even if the user actually wants to abort. What are signals anyway? And are signals only there to kill/stop my script?
Wed, Oct 26, 2016
Let me tell you a story of how we got from a Docker development environment that works on my machine to a docker environment we can easily apply on our Linux or macOS machines. We also got the the point we could very easily adapt the development environment images to allow us to run in production.
Thu, Jan 28, 2016
Hands-on explanation how we setup our Magento2 devboxes and what issues we encouter while getting started with Magento2 in vagrant.
The information was shown based on our vagrant box for Magento2
Sun, Sep 13, 2015
When you are developing a complex website with multiple subdomains and full
https, it can be hard to mimic it in your development environment. For this
purpose we will create a CA we will trust for development and that will allow
us to generate multi-domain ssl keys.
Tue, Sep 8, 2015
How do you get started with Xdebug. What is the basic configuration needed. And some basic config for vim and phpstorm to get you on your way.
Fri, Jun 26, 2015
In this talk I will attempt to show you how to get started with vim and how you can get started doing serious PHP development using Vim. I’ll try to address the reason why vim is still relevant even if we are living a golden age of PHP IDE’s.
Tue, Jun 23, 2015
In this talk I will attempt to show you how to get started with vim and how you can get started doing serious PHP development using Vim. I’ll try to address the reason why vim is still relevant even if we are living a golden age of PHP IDE’s.
Tue, Mar 24, 2015
Signal handling in PHP? Are we searching for alien signals coming from space? No its all about handling system signals while executing cli scripts / apps. What happens to my script when I press <ctrl+c>. Can I run a cleanup even if the user actually wants to abort. What are signals anyway? And are signals only there to kill/stop my script?
Tue, Oct 7, 2014
Chroot? what is that? Is docker a chroot?
With docker / containers we can easily isolate our PHP applications from the host system. It also helps us running multiple PHP versions without too much hassle. As an extra bonus our specific application containers can have their own extensions without interfering with each other.
With nginx as webserver we will show some of the handy features of docker.
Thu, Jun 26, 2014
The Problem
When I installed opera-devel on my machine it did not play well with the activities I use in KDE.
Opera was available in all my activities at all the time.
Tue, Apr 8, 2014
In this talk I will attempt to show you how to get started with vim and how you can get started doing serious PHP development using Vim. I’ll try to address the reason why vim is still relevant even if we are living a golden age of PHP IDE’s.
Sun, Mar 23, 2014
Lets explain in clear and short how to setup a dhcp/dns with dhcpd and bind.
The goal is to have a predefined dns where the dhcp connected hosts are
automatically added so you get a more convenient way to connect to other
machines on your network. Especially not having to remember the ip address of
the others.
Sat, Mar 15, 2014
In the past i would have said, I have nothing interesting to tell people worthy of putting in a blog. Now I changed my mind and I kinda starting a blog to keep myself from forgetting how I got something done :)
This blog is based on sculpin so everything is written in markdown.
The choice for a static site generator is fairly simple, blogs are in general not really dynamic content and so it will be FAST :).