大腳本運行常見問題總結

1.  Allowed memory size of 8388608 bytes exhaustedphp

 

     出現緣由:腳本運行超過最大運行時間mysql

     解決方法:1 ) 修改 php.ini 文件。將memory_limit 由默認值改爲合適的大小,重啓服務器。sql

                       2)在腳本中加入 ini_set("memory_limit","100M");apache

 注意:爲了系統的其它資源的正常使用 請您不要將 memory_limit設置太大,其中-1爲不限

2. max_allowed_packet 的問題。服務器

 出現緣由:MySQL會根據配置文件會限制server接受的數據包的大小。若是寫入大數據時,由於默認的配置過小,插入和更新操做會由於 max_allowed_packet 參數限制,而致使失敗。
 解決方法:1)修改配置文件

                    [mysqld]併發

                       max_allowed_packet = 100Msocket

                  2)臨時修改 重啓失效編輯器

                    set global max_allowed_packet = 100 * 1024 * 1024;測試

               mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.00 sec)

3. ab壓力測試 apr_socket_connect(): 因爲目標計算機積極拒絕,沒法鏈接。 (730061)大數據

                找到apache/conf/httpd.conf文件,用文本編輯器打開找到這兩行:           #Server-pool management (MPM specific)           #Include conf/extra/httpd-mpm.conf           把後面這行的註釋去掉。           找到apache/conf/extra/httpd-mpm.conf文件,打開,找到:           <IfModule mpm_winnt_module>             ThreadsPerChild      150        //ThreadsPerChild  每一個子進程的最大併發線程數。             MaxRequestsPerChild    0    //MaxRequestsPerChild 每一個子進程容許處理的請求總數,該值設爲0表示不限制請求總數(子進程永不結束)           </IfModule>           把上面的150調大,Windows下最大爲1920.           從新啓動Apache服務.
相關文章
相關標籤/搜索