1

I have an API written in PHP with two very basic functionality as getUserData and UpdateUserData that interacts with MongoDB using MongoDB Driver 1.4.2 for PHP. We expect about 1500 requests per second (1000 for getUserData and about 500 for updateUserData). I have configured apache to handle maximum clients upto 1500 at the same time, making changes in the MPM configurations. When I test this setup using Jmeter, results are not very impressive considering the capability of MongoDB.

Jmeter Response Time Graph

I think, MongoDB Driver is not making persistent connections as I can see more than 1300 connections open, after the test.How can I avoid this handshaking ? Can using nodejs instead of PHP be helpfull for me ?

sainiankit
  • 571
  • 3
  • 17
  • 1
    you really need to provide your php code, sql and db structure for us to help you out. A graph and explanation is nice but doesn't give us any insight into where your bottleneck could be – cmorrissey Mar 17 '15 at 17:44
  • You should also be monitoring [at a minimum] CPU, RAM, and IO load on all involved servers, if not of each service individually. – Sammitch Mar 17 '15 at 18:05
  • I think RAM is the bottleneck, I am using a windows server with 4GB of RAM, and the mongo DB has around 20 million records. Is 4GB enough to handle such load ? How do I get memory used by a single Apache process ? – sainiankit Mar 20 '15 at 07:27

0 Answers0