This is a common problem in most large games. It is very difficult to keep performance up if all the logic for all the things you cannot see is still running. Most games need to deactivate complicated objects that are "off screen". Minecraft uses this technique in many ways. For example, whole chunks get unloaded when possible. Entities can be unloaded as well, and even if they are still running on the server they will stop "tracking" (sending packets to the client) beyond a certain distance. Some of these things can be overridden a bit, for example the tracking range.
I would start by seeing if using the Minecraft methods can help you. I would first make sure that the entities are registered with a very long (like 8000) tracking range. Secondly I would us the enablePersistence() method on your entities to prevent despawning. Just keep in mind that if you do this a lot it will cause performance issues.