服務(wù)器環(huán)境 Liunx AS4 + PHP5 + Mysql5 + Apache 2
實用TOP 命令查詢系統(tǒng)性能的時候發(fā)現(xiàn)CPU經(jīng)常到達100%
開始以為是DDOS攻擊……加裝了防火墻(沒起作用)
又開始從liunx系統(tǒng)查找是不是系統(tǒng)問題,(也沒起作用)
偶爾從網(wǎng)絡(luò)上發(fā)現(xiàn)一篇文章,有人也類似遇到了這樣的問題,但并沒指出具體解決方案,
不過提醒了我,不是系統(tǒng)問題就是程序問題!
這次我開始從新過濾PHP代碼,偶爾發(fā)現(xiàn)很多兄弟寫的代碼只有“常”連接,竟然沒有Close!
我把所以的頁面都加裝了數(shù)據(jù)庫關(guān)閉,發(fā)現(xiàn)CPU一直就保持在1%~10%之間(正常)
所以提醒大家在寫PHP程序的時候不要為了一點懶,導(dǎo)致系統(tǒng)溢出這樣低級的錯誤!
好了就寫倒這里了,一個小問題花了我?guī)缀跻粋€下午搞這個!也算是教訓(xùn)!
把一些mysql常用函數(shù)貼上,請牢記!其他類型數(shù)據(jù)庫舉一反三!
mysql_affected_rows -- 取得前一次 MySQL 操作所影響的記錄行數(shù)
mysql_change_user -- 改變活動連接中登錄的用戶
mysql_client_encoding -- 返回字符集的名稱
mysql_close -- 關(guān)閉 MySQL 連接
mysql_connect -- 打開一個到 MySQL 服務(wù)器的連接
mysql_create_db -- 新建一個 MySQL 數(shù)據(jù)庫
mysql_data_seek -- 移動內(nèi)部結(jié)果的指針
mysql_db_name -- 取得結(jié)果數(shù)據(jù)
mysql_db_query -- 發(fā)送一條 MySQL 查詢
mysql_drop_db -- 丟棄(刪除)一個 MySQL 數(shù)據(jù)庫
mysql_errno -- 返回上一個 MySQL 操作中的錯誤信息的數(shù)字編碼
mysql_error -- 返回上一個 MySQL 操作產(chǎn)生的文本錯誤信息
mysql_escape_string -- 轉(zhuǎn)義一個字符串用于 mysql_query
mysql_fetch_array -- 從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字數(shù)組,或二者兼有
mysql_fetch_assoc -- 從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組
mysql_fetch_field -- 從結(jié)果集中取得列信息并作為對象返回
mysql_fetch_lengths -- 取得結(jié)果集中每個輸出的長度
mysql_fetch_object -- 從結(jié)果集中取得一行作為對象
mysql_fetch_row -- 從結(jié)果集中取得一行作為枚舉數(shù)組
mysql_field_flags -- 從結(jié)果中取得和指定字段關(guān)聯(lián)的標(biāo)志
mysql_field_len -- 返回指定字段的長度
mysql_field_name -- 取得結(jié)果中指定字段的字段名
mysql_field_seek -- 將結(jié)果集中的指針設(shè)定為制定的字段偏移量
mysql_field_table -- 取得指定字段所在的表名
mysql_field_type -- 取得結(jié)果集中指定字段的類型
mysql_free_result -- 釋放結(jié)果內(nèi)存
mysql_get_client_info -- 取得 MySQL 客戶端信息
mysql_get_host_info -- 取得 MySQL 主機信息
mysql_get_proto_info -- 取得 MySQL 協(xié)議信息
mysql_get_server_info -- 取得 MySQL 服務(wù)器信息
mysql_info -- 取得最近一條查詢的信息
mysql_insert_id -- 取得上一步 INSERT 操作產(chǎn)生的 ID
mysql_list_dbs -- 列出 MySQL 服務(wù)器中所有的數(shù)據(jù)庫
mysql_list_fields -- 列出 MySQL 結(jié)果中的字段
mysql_list_processes -- 列出 MySQL 進程
mysql_list_tables -- 列出 MySQL 數(shù)據(jù)庫中的表
mysql_num_fields -- 取得結(jié)果集中字段的數(shù)目
mysql_num_rows -- 取得結(jié)果集中行的數(shù)目
mysql_pconnect -- 打開一個到 MySQL 服務(wù)器的持久連接
mysql_ping -- Ping 一個服務(wù)器連接,如果沒有連接則重新連接
mysql_query -- 發(fā)送一條 MySQL 查詢
mysql_real_escape_string -- 轉(zhuǎn)義 SQL 語句中使用的字符串中的特殊字符,并考慮到連接的當(dāng)前字符集
mysql_result -- 取得結(jié)果數(shù)據(jù)
mysql_select_db -- 選擇 MySQL 數(shù)據(jù)庫
mysql_stat -- 取得當(dāng)前系統(tǒng)狀態(tài)
mysql_tablename -- 取得表名
mysql_thread_id -- 返回當(dāng)前線程的 ID
mysql_unbuffered_query -- 向 MySQL 發(fā)送一條 SQL 查詢,并不獲取和緩存結(jié)果的行
|
新聞熱點
疑難解答