3. Question 3. A bit of fun. Ask yourself "What have I done?"
This blog is all about the problems associated with installing / upgrading some software and discovering a problem further down the line. In this particular instance the problem is associated with Kaspersky Internet Security monitoring port 80, used by my local Apache HTTP server.
Just a couple of days ago I needed to reactivate Easy Digital Downloads to test a problem with my API key generation routine. But I was having serious problems with some new logic in EDD that attempts to check if AJAX is working. I raised a Github Issue and sort of forgot about it.
Yesterday, I decided it was about time that I updated the oik base plugin’s logic for checking with oik servers for newer versions of plugins / themes. But my local environment was seriously misbehaving. It seemed that my Apache server had become single threaded.
I was getting nowhere fast. Then I deactivated the recently upgraded Kaspersky Internet Security. Suddenly simple actions such as the admin AJAX heartbeat were running twice as fast and, more importantly, internal HTTP requests were no longer being queued until after they’d timed out.
This morning I removed and reinstalled Kaspersky, and then I updated the configuration so that it didn’t monitor requests on port 80.
The system is now back to normal.
Also, until yesterday, I had little idea how long each request was taking. Now I have some new code that logs summary information at the end of each transaction. The heartbeat is now only taking half the time. And my improved code to check for plugin updates is now many times faster.
Problem statement summary
- By default, Kaspersky Internet Security 2015 monitors port 80
- This is often used for incoming requests to an Apache HTTP server
- The monitoring effectively prevents the server from multi-tasking
- Which results in timeouts and failed transactions
Workaround and Fix
As a temporary workaround, shutdown Kaspersky Internet Security. As a permanent fix, update Kaspersky so that it doesn’t monitor port 80.
Kaspersky – don’t monitor port 80
- Open Kaspersky Internet Security
- Choose Settings
- Choose Additional
- Choose Network Settings
- Under Monitored Ports choose Monitor selected ports only, then choose Select…
- Select and remove the HTTP 80 port