First of all, let's just be clear when we talk about server performance, the question is how well the server scales as usage grows. If your server has one or more users, for most applications you will get the same end-user experience, no matter which server you use, because the bottleneck will be the performance of Ruby, not the application server.
For medium and large applications:
So let's talk about scaling. The more power and processor power you have, the more you can scale. Most servers are faster than the processor. Thus, the key is to minimize the amount of RAM used for each request. Each request that the server receives will be processed by a process or thread. Processes use a lot of RAM, threads use very little RAM. Therefore, the goal is to have many threads and multiple processes.
Puma and Passenger Enterprise are multi-threaded servers that will scale approximately the same. (Passenger guidelines say that each process requires 5 MB less RAM, but this is insignificant.) The passenger (free version) itself is single-threaded and will not be , as well as a paid version of Passenger Enterprise or like Puma.
So, if you want maximum performance, you choose between Puma and Passenger Enterprise. The question then becomes whether Passenger Enterprise is a cost of financial costs, and Puma is worth the cost of technical expertise. The answer depends on what is in your brain (s), what is in your bank account (s) and your total opportunity cost.
The passenger company has several useful tools that hold your hand if you are not an expert system administrator. Puma also has some tools, but they are not as strong as Passenger Enterprise provides. Puma requires system-level expertise if you want the same control and understanding that Passenger Enterprise does. (You can also use Puma without all the bells and whistle of the Passenger Company, but I want to keep this apples-to-apples comparison).
Personally, I am a low-level guy who likes to set up servers, so I prefer to trade my time rather than my money for an awesome Ruby server. Therefore, I use Puma. If you are not interested in setting up low-level materials (or if you are a company that sells software licenses, cheaper than development administrators), it may be more profitable for you to pay a Passenger Enterprise license.
For a guy who works with a $ 5 VPS (or a similar low-level, low-traffic environment):
What I said above is more for applications with higher traffic on servers with significant resources. You are just trying to get by with the basics, so this really does not apply to you.
Think of Puma and the passenger company as giant planes that can move a lot of people very quickly. Thus, you need more than your small application. You really need a server equivalent to the Honda Civic. To do this, you should consider either the free version of Passenger or Thin. Use a free passenger if you need easy setup and decent tools. Use thin ones if you want to get the same performance, but want to design a server.
In this case, I see no reason to use anything other than a free Passenger if you are not looking for a call.