史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 網路軟硬體架設技術文件
忘記密碼?
註冊帳號 論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2004-03-11, 07:52 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 Helix server9 緩衝非常厲害&解決辦法

Q:
Helix server9 緩衝非常歷害
緩衝非常歷害.即使是人數幾十人也一直緩衝.
服務器和帶寬都有餘.


最常見的一個問題就是每次啟動 都會彈出一個服務啟動失敗。日誌如下圖。
我在至少5台機器上試過,都是同樣的提示錯誤,把它卸載掉就為會有這個錯誤提示了。
確實存在問題。所以我想找個200用戶正式版的來試試

liumeiti上還有人說,Helix最多支持120同時點播。超過這個數,都得緩衝,即使是服務器夠強,寬帶網大。不知道是不是真的。

要想在服務中重啟動 helix 服務,那也是不可能的。

總提示如圖錯誤。只能點關閉來停止,然後再點啟動。這個破解版有問題。

A:
用win2003吧
Q:
win2003可以支持rm 格式的線上點播嗎?

要不asf格式的影片要找到很多有點困難,大部分都是RM格式的。
A:
當然不支持,這一點上real比ms大氣多了。
2003上裝了helix會造成wms錯誤,至少以前的beta版是這樣,微軟真是。。。。。
A:
緩衝多久阿?10-15秒鐘以下都是正常的

Q:

現在的問題是越來越不對勁了。連都連不上。
我剛才在局域網內測試了一下。可以點播。
但仍然有我前面所說的問題。啟動出現錯誤等。

然後又裝到托管的服務器上(又另裝了一台),又不行了。連都連不上了。



A:

有人測試過正版的沒有限制的lic也不行,在100人左右也是緩衝啊~

怎麼回事?

在一個,這個緩衝是點播,如果直播的話,500人都沒問題

難道是受到了硬碟的限制?
Q:

不知道windows media 9能不能支持那麼多人呢?
那個helix server9緩衝問題沒找到解決方法。後來我裝了real server8,帶500用戶的那個。現在100人左右都能正常點播。沒發現緩衝的問題。
A:
服務器自從限制IP段點播後,一直沒超過120人。

很是抱歉。

轉自搜新網媒體論壇

[探討]有效降低RealServer服務中的客戶緩衝現象
感謝大家的關注,為了查閱方便我總結了前60帖的討論。

常常看到一些抱怨,無論多好的服務器總存在媒體的緩衝。經過觀察發現,每當連接人數達到一定值時,客戶就有播放緩衝的現象發生,而此刻服務器的CPU使用率、記憶體佔用率、帶寬佔用等都很低,沒有理由懷疑服務器此刻的狀態。這一問題始終困擾我,後來嘗試平均分配554、7070連接阜來播放,情況也沒有根本好轉。

一天突然想到可以並列服務試試,就是同一台機器多裝幾個RealServer看看,詳細請參閱 http://service.real.com/help/library...rted.htm#35132
按照說明進行了如下工作,把原來的rmserver.cfg拷貝到 bin目錄下,更名為rm2.cfg,名字短點好輸入,放置和 rmserver.exe相同的目錄好操作。把rm2.cfg中的連接阜都加1,如554,7070改為555,7071等等。

一、如何安裝多個服務
[參考 lucian (hyne) 的 單機安裝多個helix server全攻略]
首先複製上述的配置檔案,用文本編輯器修改各個連接阜設置,如果你想多個,那麼另存為多個名稱不同的配置檔案。然後註冊系統服務:cmd下轉到 ..\bin目錄
  執行:rmserver -install:rm1 "你的實際路徑\rm1.cfg" ,其中rm1是你命名的服務名稱,可以按你的意願取名。
返回消息應該是Successfully installed the rm1 Service。如果想再安裝rm2 service按照同樣的方法完成。你可以在DOS啟動這個新服務:rmserver.exe rm2.cfg。
Real公司還提供了一種方法: 先執行 rmserver.exe -import:rmReg2 rm2.cfg 匯入註冊表,再執行 rmserver.exe -install:rm2 "rmReg2" 註冊服務,用rmserver.exe registry:rm2 來啟動服務。我個人認為這個比較麻煩,還不容易修改,不推薦。
最後在服務管理裡能發現新新增的rm1 ... 服務,修改其內容為自動啟動,這樣每次重新啟動機器,服務都會自動執行的。

提示:
 rmserver -install:rm1 "????",如果這個路徑不包含空格,就可以直接啟動了。如果含有空格,你需要進入註冊表,搜尋rm1.cfg這樣的關鍵字,修改StartupParams項,檢查其路徑是否與你實際的一致,路徑如果有空格,一定要把引號加上,如: "C:\program files\real\helixServer\rm1.cfg" 。建議大家都要檢查這一項,因為有時譬如RealServer8.x就寫個錯誤的路徑在那裡,所以總有人說RealServer8.0不行,其實你把註冊表修改對了就可以了。
 各個rmx.cfg中的連接阜不能相同,否則會發生連接阜衝突,造成無法啟動服務,這也是許多人初次嘗試失敗的原因。我的經驗是先對首個服務進行全面的配置,如載入執行點,IP限制等等,然後再複製這個配置檔案,這樣不僅能快速配置其它服務,而且也能保證配置的同步性。

二、有效性
大多數人經過試用都表示有效,但也有如xxzHou就表示沒有效果,他啟動了4個服務,120以上時,客戶端就出現緩衝,"而改用http方式時,此服務器可以提供600-700不緩衝播放500k左右的電影",對於引號中的聲明我感到懷疑。首先我聲明,這個方法是有效的,是我通過實踐總結的。
首先你要確認你的機器是否有餘量,例如我的60人時緩衝,此時CPU使用率只有10%,記憶體也綽綽有餘,這時啟動多服務是有效果的。但服務不是越多越好,2-4個為好,這時CPU能到50-60%,這時的負荷已經很重了,能在40-50%是最好的。另外客戶端的機器和軟體狀態不佳,也是造成緩衝的重要原因,還有你是否真正做到了服務平衡。
我也發現不是所有的機器效果都明顯,尤其是播放高帶寬,如400-500k以上的,所能承受的人數急劇下降。帶寬也是原因100M帶寬的理論值是多少?不好說,還有收發器、交換機都能達到100M?我們沒有有效的手段檢驗,專業性的儀器太貴,承受不起。但我知道原以為那些光纖收發器都是高科技產品,其實小廠都能生產,兩三百元就能買到,而且品質良莠不齊,我們多次發現因為收發器性能下降造成實際帶寬的下降。
我個人認為所謂百兆可能只能發揮60-80M能力,這樣你算算多少人?200多人的線上吧,如果你還同時通過這條線路提供網頁、遊戲等其他服務,可能打的折扣多了。上面說的"600-700不緩衝播放500k左右的電影",這時帶寬多少呀?百兆是不可能的,只有是千兆網,這樣的話是否全部通道都是千兆了?

題外話,電信內部人員最終承認,發現1M的ADSL只能看225k的電影,2M看350k的,因為當別人報告緩衝時,他們用8M的看,結果一切正常,我猜測這可能是ADSL交換那兒不太好,不過誰敢對電信指點一二呀!所以具體說來這是個系統的綜合問題,不能片面地鑽一個地方。總之我是把服務器的性能發揮到極限了,剩下的只能看天命了。
採用http是不錯,我一度也曾採用這個辦法,結果開始不錯,當人數上來後就不行了。且人家能高速下載了,而且一旦稍有緩衝大家都開始下載,http不好限制線程,結果更擁擠更累機器,最終還不如流播放。另外中途中斷了不能接續,拖放也不自如,還是不用為好。
我個人認為是rm的服務軟體的效率不行,至於版本估計美金買的也好不了哪去,要是D和正之間有這麼大的差距,就不會打擊D版了,這是多好的廣告呀。目前為止我比較了周圍的流媒體服務情況,在相同的硬體條件下,我這個是最好的。當然還有許多不滿意的,所以才公開經驗,希望有更好的建議和方案出現。

通常流媒體服務器都是專用的,所以封閉全部不需要的連接阜,防止黑客攻擊,我的就被攻擊過。關閉不需要的服務,盡量釋放系統資源,你可以嘗試著關,只要不影響執行和服務的都關掉。我認為不要裝防火牆、殺毒軟體等這些軟體,這些都涉及系統內核操作,消耗的資源不知道有多少。既然是服務器,你不會在上面玩遊戲、看網頁的,不存在感染病毒的途徑。網友 quake777 稱他的小服務器,不小心裝了個瑞星防毒,HAHA~,25人聯線就緩衝了。換了個諾頓企業版,最高40人聯線時還跑得瘋快,說明這些軟體是有影響的。

三、關於Real官方的冗余和動態負載平衡
關於Helix的冗余,不知大家仔細看過,它需要多台Helix服務器,這個好辦,機器不缺。但你的內容載入執行點呢?我將近1T的資料,3台Helix服務,需要額外2T的內容空間,而且還要保證同步,我看是比較麻煩的。如果我真的有,我也會拿來增加內容,而不是做冗余。樓上還有一位說的DNS動態平衡也是針對多台Helix服務而言,通過DNS來分配不同的機器來提供服務。
當然你可以使用專用的磁碟陣列,這也是Helix圖例裡表明的,多個Helix服務器共享這個陣列,通過DNS分配或其它方式均衡這些服務器,平衡服務。可是投資呢?不用說專用陣列了,單SCSI硬碟大家就知道有多貴了。要知道多數人的服務都是免費的,好多都是個人愛好者,像我一樣,用普通微機做服務器,且沒有發現IDE硬碟是瓶頸。那些專業的配置就不用考慮了吧。而且大家也看到討論的,那些2個CPU的專業服務器 120人就緩衝了,趕不上我5000元2台服務器的(顯示器不用的啦,遠端控制的),呵呵,你們說呢?
我的關鍵是一台機器,進行多個行程的同時服務,是盡力發揮一台機器的能力,和Real官方的說法是兩個不同的概念。

四、連接阜平衡
hyne 的算法挺好:
Randomize
rndcount=Int(Rnd*3)
if rndcount=0 then
response.write "pnm://*.*.*.*:7070"+url
end if
if rndcount=1 then
response.write "pnm://*.*.*.*7071"+url
end if
if rndcount=2 then
response.write "pnm://*.*.*.*:7072"+url
end if

我是採用asp.net編程,主要涉及以下內容,相關人員一看就會懂的。
首先設置服務的數量和連接阜,在web.config中:
<add key="HelixPort1" value="Real服務A:;554;7070;1755" />
<add key="HelixPort2" value="Real服務B:;555;7071;1756" />
<add key="WebPort1" value="網頁瀏覽:;80" />
<add key="FTPPort1" value="FTP下載:;21" />
程序自動尋找HelixPort、WebPort和FTPPort加上遞增的序號,直到找不到為止,如尋找到HelixPort3或WebPort2,發現不存在就終止。後面的值是我自己設定的格式,是名稱加連接阜。程序會自動把HelixPort1的連接阜作為一組統計,同時把所有Helix類型的也統計在一起,這樣提供給網頁能既時反映線上人數,及其分佈。最後有一個這樣的結構數組,[連接阜號,不會出現重複的][組別,指Helix1,FTP1這類][類別,指Helix、Web這樣的大類]。
Public Structure moviePortDefine
Dim TCP_port As Integer '連接阜號
Dim GroupID As Integer '分類索引
Dim GroupName As String '分類名稱
Dim Cnt As Integer '線上人數
Dim TypeID As Integer '連接阜序號
End Structure

然後有個程序對各個連接阜進行掃瞄:
Dim p As New Process()
p.StartInfo.FileName = "netstat.exe"
p.StartInfo.Arguments = "-n"
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardOutput = True
p.Start() '執行了 netstat.exe -n 命令

Dim output As String = p.StandardOutput.ReadToEnd()
p.WaitForExit()

Dim ss() As String = output.Split(vbCrLf)
Dim ssTcp() As String
Dim i, j, k As Long
For i = 1 To ss.GetUpperBound(0) '尋找ESTABLISHED,表示建立連接的連接阜
If InStr(1, ss(i), "ESTABLISHED", CompareMethod.Text) > 0 Then
k = InStr(ss(i), ":")
If k > 0 Then j = InStr(k + 1, ss(i), " ", 1)
If j > k Then
k = Val(Mid(ss(i), k + 1, j - k))
For j = 0 To NowFindedPort.GetUpperBound(0)
If k = NowFindedPort(j).TCP_port Then
NowFindedPort(j).Cnt += 1
Exit For
End If
Next
End If
End If
Next

最後統計人數,提供線上報告,給出最少人數的連接阜,產生超連接。會編軟體的往往只需要知道思路,而不是源程式碼,個人的習慣不同,有看別人代碼的能力還不如自己編,看不懂的直接引用,往往出了問題就抓瞎。所以我只講了我的思路,具體請自己研究。我正在整理我的電影系統,準備編寫好說明檔案後,編譯(不含原碼)供下載,不寫不知道,寫說明比編程還要費勁,要面面俱到,麻煩呀,不知道啥時能完成。
psac 目前離線  
送花文章: 3, 收花文章: 1626 篇, 收花: 3197 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
媒體伺服器Real Server 9.0完全攻略 psac 網路軟硬體架設技術文件 0 2003-12-13 07:11 PM


所有時間均為台北時間。現在的時間是 02:44 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2019, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1