PHP is synchronous. It means when you are processing a request, writing to the database, for instance, it blocks any other operations, so you will have to wait for it to finish, before you can do anything else.
If you need to run something async there are threads in PHP. http://php.net/manual/en/class.thread.php
Each request to web-service creates a separate PHP interpreter process which is running your code. Thousands of connections means thousands of running processes that take your RAM. You can see how your used memory is growing up with your active connections.
This isn’t true, they created FastCGI to deal with this problem nearly two decades ago. https://en.wikipedia.org/wiki/FastCGI
PHP doesn’t have JIT compilation. It’s important when you have code that is executed very often and you want to be sure that this code is as close to machine code as possible for better performance.
JIT has nothing at all to do with machine code and getting better performance.