2014-12-04 33 views
1

我有以下類通過網絡PDO,運行1到3小時後掛起MySql數據庫?

--------------------------------------------- CRUD Code Snippet-------------------- 
class CRUD{ 
    function __construct(){ 
    $this->db_user = "user_name"; 
    $this->db_pass = "user_password"; 
    $this->db_name = "myDb"; 
    $this->host = "localhost"; 
    }  


//connect() function to connect to database 
private function connect(){ 
    try{ 
     $pdo_Options = array(PDO::ATTR_PERSISTENT => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION); 
     $this->con = new PDO("mysql:host={$this->host};dbname={$this->db_name};charset=utf8", $this->db_user, $this->db_pass, $pdo_Options);    
    }catch(PDOException $ex){ 
     return $ex->getMessage(); 
     $this->tempVar = $ex->getMessage(); 
     } 
    } 


     ----------- The following method creates problems when updating record -------------- 
     public function dbQuery($sql,$bindVars=array()){ 
     try{ 
      $this->connect(); 
      $statement = $this->con->prepare($sql); 
      $statement->execute($bindVars); 
      if($statement->rowCount() > 0){ 
       return true; 
       } 
      else{ 
       return false; 
       } 
       $this->con = null; 
      }catch(PDOException $exc){ 
       $this->tempVar = $exc->getMessage(); 
       $this->sqlToReturn = $sql; 
       return false; 
       } 
     } 

    }//CRUD 
------------------------------------------------------------------- 

功能運行的非常好,它完美地執行其工作,但執行的一定時間後的MySql數據庫得到掛起並停止響應。在調用提及的函數dbQuery()的頁面代碼時,它會在消耗120秒的時間後顯示錯誤。在我的情況下,該軟件運行在一個龐大的網絡上,擁有apx:300個併發用戶,他們正在插入,更新,搜索和刪除數據庫中的記錄。具有apx:300000記錄的數據庫。 我在Windows 8.1 64位上安裝了WAMP服務器。 MySql版本爲:5.6.20,位於T110-II Power Edge Xeon服務器機器上。

我沒有找到/診斷問題爲何會出現此問題?

請指導我,因爲我真的很擔心這個問題。 enter image description here

+0

更好地瞭解您的問題 – 2014-12-04 06:06:28

+0

的它需要幾分鐘的時間執行單個頁面打開提供的錯誤信息。它也失敗了,有時它顯示上述錯誤,或者經常顯示**最大時間限制達到120 ... ** – 2014-12-04 06:16:07

+0

您的問題在MySQL查詢中,請提供或自行檢查。 看看[這個](http://stackoverflow.com/questions/17824486/mysql-query-timing-out-70100-query-execution-was-interrupted)和[這個(爲什麼這個中斷會發生? )](http://www.yiiframework.com/forum/index.php/topic/51380-cdbcommand-failed-to-execute-the-sql-statement/) – 2014-12-04 06:44:57

回答

-2

這可以幫助你:

ini_set('max_execution_time', 10000); 
+0

我認爲OP的解釋會很好! – Rizier123 2014-12-04 07:07:36

+0

尊敬的Sandesh jadhav,運行此查詢/頁面所需的執行時間僅爲0.1秒。我已經超過了3分鐘,但服務器變慢時發生錯誤? – 2014-12-04 07:17:14

+0

@ Rizier123該軟件在第一時間運行良好且速度非常快,直到1到2小時,但同時它變慢並且不執行,然後引發錯誤。 – 2014-12-04 07:19:23

相關問題