Detailed Diagnostics Revealing that a Slow PHP Web Server is Causing Transactions to Slowdown

Let us consider the example of a web application, where the following transactions are slow.

Figure 4 : Detailed diagnosis of the Avg response time measure

Let us focus on the slow specialoffers URL in Figure 4. To zoom into the transaction, click on it. The flow of the specialoffers transaction will then be displayed as depicted by Figure 5.

Figure 5 : The cross-appplication flow of the specialoffers transaction revealing that PHP processing on the Apache web server is delaying the transaction

From the transaction flow, it is evident that the transaction slowed down on the Apache web server, PHP_BTM:8055. The question now is what type of processing on the Apache web server delayed the transaction in question. A closer look at the Apache web server icon in Figure 2 will answer this question as well! As indicated by Figure 2, the PHP_BTM:8055 server processed PHP methods for 22157 milliseconds. But which exact PHP method is increasing the processing time of the transaction on the server? To identify the same, let us zoom into the Apache web server by clicking on it in Figure 5.

This will invoke the Execution Analysis window of Figure 6. From the distribution pie chart in Figure 6, it is evident that over 50% of the transaction time was spent in PHP processing. The table below the pie chart in Figure 6 lists the exact methods that performed PHP processing or made the remote calls. A quick look at this table reveals that the Root PHP method, invoked a series of child methods and external calls, which together took nearly 42000 milliseconds to execute. However, the method itself took no time to execute (self execution time)!

Figure 6 : The Execution Analysis window

Browsing the child methods called by the parent method reveals that the transaction spent nearly 35% of its time - i.e., 15000 ms - on the PHP method, ''sleep" (see Figure 7). This means that this is the method that is delaying the specialoffers transaction.

Figure 7 : The PHP method, sleep, that is delaying the specialoffers transaction

This way, the eG PHP profiler enables you to diagnose the root-cause of slowness in your PHP method calls using just a few mouse clicks!