We have an issue related to a Magento website. This website was developed by another development service company & we being a Mobile website development specialist, got the task for developing the Mobile website.
We started to work on the website in May 2013 & after many repetitive changes & updates (on our demo server), finally the website was made live in Oct 2013.
After that further updates were done on the live server as per the clients requirements. After a few weeks in the month of Dec 2013 / Jan 2014, the client complained that the website was facing some downtime & the hosting company had issued him a notice that due to the website being not completely optimized, was consuming their CPU & bandwidth usage & was causing other websites to go down.
After researching on this we realized that all hosting companies cannot handle Magento websites & due to the huge amount of traffic on the website (both desktop & mobile), the average server was not able to handle it. Finally the client agreed to this & change his hosting to VPS.
After the shifting of the website to the new hosting, within the next few weeks the website has gone down 19 times due to various fatal errors. Here is the list of PHP errors that occurred which caused the fatal error & website downtime:
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'italianb_magento.core_file_storage' doesn't exist' in /home/italianb/public_html/lib/Zend/Db/Statement/Pdo.php:228 Stack trace:
-0 /home/italianb/public_html/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
-1 /home/italianb/public_html/lib/Zend/Db/Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array)
-2 /home/italianb/public_html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
-3 /home/italianb/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT e
.* FR...', Array)
-4 /home/italianb/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(337): Zend_Db_Adapter_Pdo_Abstract->query('SELECT e
.* FR...', Array)
-5 /home/italianb/public_html/lib/Zend/Db/Adapter/Abstract.php(753): Varien_Db_Adapter_Pdo_Mysql->query(Object(Varien_Db_Select), Array)
-6 /home/italianb/public_html/app/code/core/Mage/Core/Model/Mysql4/File/Storage/Da in /home/italianb/public_html/lib/Zend/Db/Statement/Pdo.php on line 234
-7 Call to undefined function pageTitle() in /home/italianb/public_html/app/design/frontend/aw_mobile/iphone/template/review/view.phtml on line 56
One of the errors seen at the bottom of the list is because this error is the mobile theme as its path is of mobile website. But the function pageTitle() error is the function which is written in desktop files. And mobile website is calling that function same as fetching the product images, products descriptions etc.
So when the error occurred on desktop files and this (pageTitle()) mobile theme function was called, it was not able to find this function on desktop files because they already were having fatal error or most probably desktop files were not load properly. Due to this the Error Number 7 occurred.
Regarding the other Six errors, they were caused due to the error in the desktop files & not mobile websites files.
While we were notified about this, we checked for the issue & noticed that the Cpanel was also not working at the same time. After doing the ping test for the website we noticed that the hosting server was down & it was not working.
As soon as the server went up, the C panel started working as well as the website also started working.
The client says that the fatal errors are causing the bandwidth to be exceeded and the mobile website is responsible, without any technical evidence.
Few other Important points to be noted:
- The Magento version of the website is 1.5.1 (Out of date).
- The Desktop websites images are not optimized.
- No optimization plugins could be used on the website due to the old Magento version.
- Many plugins are out of date.
We would value your expert opinion as to what could be the possible causes for the website going down and is it realistic to say the bandwidth / CPU would be exceeded by these PHP fatal errors shown?
Also how could it be proven it was or wasn't the mobile site that caused the server to crash?