http://qs321.pair.com?node_id=963784

Gary Yang has asked for the wisdom of the Perl Monks concerning the following question:

I host my Perl application at a Virtual Private Server (VPS) with a Web Hosting company. The RAM is 512 MB, CPU is 1024 MHz. I use Apache server. Here is how my application works:
Users visit my web and click search icon, it triggers the Perl application. The Perl scripts process the data, print results as HTML page and display to the user. This Perl script use threads.
Here is the problem. I opened four different browsers; IE, Chrome, Safari and Firefox. I clicked on the search icon at same time on these four browsers (It simulates multiple people using the web application at same time). It triggers the Perl application. The problems are; there are always one or two browsers dead, meaning that it always one or two processes of Perl scripts dead. No return results printed as HTML page. I checked the Apache error_log. There is no single error, i.e. the Perl script dead without error message. I use “ps –ef” to look for the process. The processes were dead.
I redo this test at a physical Linux box. I tested it many times, the Perl process never dead. The four browsers always returned the results in HTML pages. I complain that there is a problem with VPS. But, the Web Hosting Company says that it is the problem of my Perl scripts. The processes were dead. There is no error in error_log. I do not know how to debug my Perl application.
Anyone has similar experience? How to solve this problem?
Will increase the RAM and CPU of VPS solve this problem?
Or it is the problem of VPS, the Web Hosting Company should solve this problem? Or there are bugs in my Perl scripts, I should fix it?
Since it works on a physical Linux box, should I to go with Dedicated Server? Is the dedicated server a physical box? The dedicated server is very expensive in general. I prefer not to choose this solution unless I have no other options. Anyone, please help.