LifeType 中文開發論壇

支援 => 使用與操作 => 主題作者是: 庸正大帝 於 二月 23, 2007, 12:53:56 下午



主題: 請教關於 PConnect 的連線設定問題??
作者: 庸正大帝二月 23, 2007, 12:53:56 下午
       各位先進新年快樂!!!
小弟有一問題請前輩們指點
不少主機商都對 pconnect 指令有所限制
小弟目前租用的主機沒有這個限制
但是卻造成很大的資源佔用

目前是用 LifeType 1.0.6版本
可是因為是舊網址的關係
常常在線人數百人以上

小弟有去修改了  /class/database/db.class.php

將   if( !$db->PConnect( $host, $username, $password, $dbname )) {
改為 if( !$db->  Connect( $host, $username, $password, $dbname )) {

及 /class/database/adodb/drivers/adodb-mysql.inc.php

將   $this->_connectionID = mysql_pconnect($argHostname,$argUsername,$argPassword,$this->clientFlags);
      else
     $this->_connectionID = mysql_pconnect($argHostname,$argUsername,$argPassword);

改為 $this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,$this->clientFlags);
      else
     $this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword);

這樣會有改善嗎??

但是發現到主機的 Server Load 忽高忽低
                                Memory Used 資源佔據仍舊嚴重

在論壇中爬了一些相關說明

http://forum.lifetype.org.tw/index.php?topic=23.0
對於 Mysql 的調教

文中提到之以下設定

    set-variable    = connect_timeout=30    # timeout設小一點
    set-variable    = join_buffer_size=16M  # 聽Mark說用到很多join..
    set-variable    = max_connections=1024
    set-variable    = wait_timeout=30
    query_cache_size = 128M

小弟實在是遍尋不著
可否請前輩指點相關詳細位置

附上主機資訊
   
  Apache 版本 1.3.37 (Unix)   
  MySQL  版本 4.1.21-standard   
  PHP    版本 4.4.4


主題: Re: 請教關於 PConnect 的連線設定問題??
作者: markwu二月 24, 2007, 02:12:15 下午
PConnect 會造成的影響是 你的 mysql connection 會被 connection 佔據而不釋放,造成無法再連線。所以你改成這樣,對 server load 影響不大。

會造成 lifetype 對 memory 耗用比較多的原因是他在 1.0.x 版, 下 sql 指令時帶出太多的資料。這在 1.1 會好很多。

而 server load很高,主要的原因是在 resource file 的讀取上。lifetype 在 1.1 (包含 1.1) 是將圖讀到  memory 中,然後再 put 到 網頁上。如果你是用 cgi 模式,可以將 resserver.php 這之 script re-nice 一下,情況會比較好。在1.2 這部分就改寫了,改用直接出圖方式,所以 load 會低很多。

Mark


主題: Re: 請教關於 PConnect 的連線設定問題??
作者: 庸正大帝二月 25, 2007, 12:25:49 下午
呵呵   :-D
勞煩 Mark 兄詳細的解說
小弟這就去試試看   ;-)


主題: Re: 請教關於 PConnect 的連線設定問題??
作者: ming二月 25, 2007, 03:07:58 下午
一般來說,在多人同時連接的伺服器,大部份情況下也不建議便用 pconnect