My server, this one, has been running out of memory lately. That’s a good thing, it means we are busy doing things. But it’s also a bad thing. So I wanted to look into what was causing the problems. Not knowing everything about servers, I took to the internet.

There are tons of resources and you just have to click and review to find a good one. In my experience, I have found that Digital Ocean has really good docs. https://www.digitalocean.com/community/tutorials/how-to-optimize-apache-web-server-performance

Not wanting to know everything about servers, yet, I skimmed the article looking for quick hitting changes that could help my server memory and I found a big one. 

Yesterday, I was setting up a site for a client and had to import the db. The import went well, but I was having memory issues. One of the issues is the Russian Hackers. They are undaunted in their attack on my sites. Relentless even. They often use many different IPs to ping and pester my server. To combat them, I setup IPTables, which are awesome. But I’m still learning. Yesterday, I learned how to block a range of IPs. There were several sets that were in my access logs which attack as a pack. Up until now, I would just add each one as an individual record, but they would just hit me with a different IP. Not any more. Now, I have blocked their range to avoid them hitting me with one of their ‘children’ IPs. 

In this research, I use the Apache Server Status to monitor who is on my sites. And at the bottom I noticed an SSL section. I don’t use SSL yet so it was interesting to see this section at the bottom of the status page. Even more curious was the fact that it has a memory reserve of 500MB. I didn’t consider this to have an impact on my server until today when I read the above performance doc. It pointed out that SSL can be a real memory hog. And it all clicked. I don’t need SSL! I disabled it and found a nice up of 500 MB now available to my server.

Sweet!