找回密碼
 立即註冊
搜尋
熱門搜尋: 活動 交友 discuz
點閱: 3135|回覆: 14

XGP2.9.x系列造船/防禦造成伺服器死當的BUG修復公告

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 246

魔法值:15162 / 15162

生命值:6%

升級   100%

  • TA的每日心情
    奮斗
    5 小時前
  • 簽到天數: 6027 天

    [LV.Master]伴壇終老

    發表於 2010-12-20 20:34:23 | 顯示全部樓層 |閱讀模式

    馬上註冊,結交更多好友,享用更多功能,讓你輕鬆玩轉社群。

    您需要 登入 才可以下載或檢視,沒有帳號?立即註冊

    ×
    *01月08日更新:1 w( s/ Y5 `6 D, G: g& e2 l
    全新的伺服器軟體與環境正式啟用
    5 F0 t* ^8 o8 @/ N* q# R這大大的減少的伺服器的負擔
    : ~' M* d& P& _2 y0 @4 o因此建造延遲時間由100微秒
    8 e7 @( C8 b1 M) N# {縮短為25微秒。
    - D$ x/ d$ s  g* R) U----------------------------------------9 L  f$ x& w. _  {$ Z8 p
    12月23日更新:
    , r; d* i5 s5 W9 @站長建議各位每隔10秒鐘後再按另一次建造按鈕
    5 {1 M4 C- K* Y- B* Z這樣會為伺服器的負擔減輕不少/ k% y/ @. Z% G; n1 ~+ a
    而各位的帳號或星球也不會出現空白畫面的超時情形。' s! a- }0 ~2 p& G: l0 n* v
    P.S也就是說輸入1000W按建造  ~& ]! {$ s4 i
    之後等個10秒
    $ N/ O- n7 F! A* X/ c7 C4 W然後再輸入1000W再按建造....以此類推。
    2 W) f2 P2 ~; s1 ?# `3 x# p----------------------------------------; D* f+ C( B$ x! N) Y3 ]
    12月22日更新:7 N& F/ k( f# @
    以下的情況只針對同時間裡( o1 O  e' R5 X" u; u, H' ]
    只有一個人在造船或防禦+ K2 m2 Q6 _8 R; @
    才有明顯的改善) ?) Z8 |: }9 ^) h; m: I6 J5 {
    但同時間裡且同時有
    ) y0 b! j! m# K: E多位玩家連續造船或防禦; N1 v" ]8 y) R2 i$ U
    那麼伺服器的CPU使用率8 m. V* K4 y& C6 k
    又會跟以前一樣是100%) M8 p, J! p1 ?6 R4 `8 O/ y
    只有改善一點點
    % u4 d, e6 ?9 p$ a. T* l/ g於是站長又將建造延遲時間
    5 l: Y$ D3 ~) j/ r9 W* Z) `改為50微秒了
    8 K3 T) |2 O( L( h, \% W現在每建造1000W的船艦或防禦要花8分鐘左右的時間3 H7 b; X9 m9 w0 ^, r
    雖然建造時間多了不少% Y- [- G; B' Q8 L
    但伺服器的負載量大幅度的減少了8 ^; R* A/ {# D/ G4 ]
    且總比死當不能訪問要來得好多了吧?
    5 i' s/ z2 a: D8 u( Y( `+ e--------------------+ G6 e6 ]. d3 Q2 W
    各位玩家們有福囉~
    % l8 I( `% f3 O1 s+ j即日起可以不必再忍受
    9 v" i" D" ]+ O! e; J1 B建造數量只有1W以及
    # @0 i1 p% |6 e0 S7 C! y  G* \還要請GM幫忙代造的痛苦了
    0 ]4 ~2 K9 F0 o+ T. K& {( h經過站長1天的思考與研究後5 _2 Q' X. Y4 E9 ^* t4 F( m4 M
    終於發現是什麼原因+ r2 b/ U% {8 K3 e8 @
    讓遊戲在造船或防禦的時候
    , x1 z' x# U; f: W5 R讓伺服器死當或者很卡的罪魁禍首了9 w5 w' f& A0 o+ }, D
    並不是因為伺服器規格與配備不好所導致
    % S) M5 S1 R# k3 Z' E" i- S
    真正原因是因為每建造一艘船艦或一門防禦
    3 ?- L2 N# k; O, o3 {1 m中間沒有讓伺服器冷卻的間隔時間# E: H: Q7 p4 h' U  Y  {
    所以才導致伺服器在沒有冷卻間隔時間的情況下
    " m9 ?8 _* ?% z3 P! J& F- X無法瞬間處理大量的SQL指令與數據  e+ o) s- T5 M& g& a1 ]3 \5 c7 X
    所以才導致伺服器出現了死當與很卡的情形發生

    " e6 A( K  I- M: x" y. t現在站長將每建造一艘船艦或一門防禦的
    , q; O' _( o3 |7 u0 `' X. f冷卻間隔時間由原本的無冷卻間隔時間# C' ^$ N0 ^; [& p% C6 M
    改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦

    $ w5 {" W5 U% k% F而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了2 M$ v. T! M$ c, l' |+ _
    現在每建造1000W的船艦或防禦只需花9秒鐘
    6 n/ V/ |% e- \# v9 _+ QP.S建造2000W的船艦或防禦要花18秒鐘
    , ?8 Q0 W$ Y) U/ [& ~# E3 \建造3000W的船艦或防禦要花27秒鐘.....以此類推.....
    - C! c) A7 h' ?4 s. F; U對各位來說應該不算太過份吧?
    ) c- G/ l% e$ }4 t
    在還沒修復此bug之前  J" l7 p# J3 J% W( z7 l
    建造1000W的船艦或防禦只需花0秒鐘( p: R$ D* C; Y' D1 }( C
    瞬間建造好,不用等! ~" N# M% \* E- H5 s
    但是給伺服器的壓力太沉重了( g5 `! E5 D6 v; I+ M, R( R4 ]( F
    寧願稍等幾秒鐘的時間
    - g; A% U: w- t' ]也不要讓伺服器的壓力過大
    3 {! B  B. x6 ]5 Y4 q4 v( T* S而導致伺服器死當或者很卡4 o) U" [( w+ m1 D3 H
    各位說是不是?
    ! j6 C6 |1 n6 U& f% W8 J1 {
    7 o! t) t: \8 G0 v( A/ \: u2 t  b
    *對本帖如有問題的玩家
      x" ^7 c- D7 m% B; {" a3 ?, j0 T或會員們請回帖提出
    ( S; f! c* {7 r; L站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 10442

    生命值:1%

    升級   100%

  • TA的每日心情

    2012-12-28 00:53
  • 簽到天數: 7 天

    [LV.3]偶爾看看II

    發表於 2010-12-20 20:40:14 | 顯示全部樓層
    這樣就不用等待代造.實在太好了.等個幾秒值得阿

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 9184

    生命值:9%

    升級   0%

  • TA的每日心情
    無聊
    2012-7-15 21:50
  • 簽到天數: 16 天

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大
    # Q# v( \3 m2 g& ?' D辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12316 / 12316

    生命值:3%

    升級   100%

  • TA的每日心情
    開心
    2025-9-3 21:15
  • 簽到天數: 4406 天

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣9 {4 J+ C+ \& u9 Y4 C8 t/ {
    不過我認為: D* b9 w8 p( J) Z: _8 [$ i
    更改遊戲造船及防禦的方式才是解決問題的治本方法( a1 N/ a$ B7 F  N4 c4 x$ I
    ( l* n) V9 B$ N! t  K
    例如要造1000W回收船( s" A1 q% U" z9 |+ N' ^) j# O$ a, \
    根據a大的描述
    & K9 }& ~. C% K4 F7 \大概是造一艘便要一個sql請求
    " Y  c" P/ F2 p0 G; u: J, ^# h% f
    2 s4 c9 Z5 e: p  O( ?query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000' ?4 B! M! D$ y+ K$ G- ^1 d
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000; Q8 c( v; O( o( n2 {
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000* {6 r4 Y) \' K- x# Z2 k
    ...... (略9999996條)
    , y* p0 q. A) I" y1 C$ Xquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    - q* F, @0 L) }! ~/ m) o8 C4 h4 m9 g2 O8 s, o  C5 i- l' c
    這様造一次: @2 m% }) k0 I4 Q  N+ P
    sql請求比運作一個月的無插件discuz論壇還多! {- @$ l) v6 O, q/ C
    當然就是虛耗資源6 d" Y) _6 M3 s# ^( n' g

    , H2 f2 V6 }7 A7 y( ~但如果改成一個sql請求完成全部建造
    , t! o) D/ k& A! P2 E5 Q! N3 p不但建造得更有效率7 i, K* }7 B# K  s9 t. X0 o
    造一次對伺服器資源使用也是近乎0
    2 n0 {# q4 S- B' t
    ( G7 O) d( B, B! @, ]7 pquery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    ( @9 H6 ^8 a0 e! k; H8 T6 C% {, t
    7 L  C/ P+ o( D8 a3 l* z: I當然這只是基本概念+ d! H) `" G9 h' a, a' p/ ?0 J9 T
    要進行修改也有一定難度
    8 w! L% H' e& |: z& K9 B! o5 a7 L4 V因為這只考慮到建造時間=0時的情況
    9 `. @6 K- m  d# L如果建造時間>0& z) O4 C/ O% d
    就要考慮頁面動態更新之類的一大堆問題
    ; Q8 d& k! X: K2 }- P) m只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 4237

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........6 ]6 N" P& W  e/ @/ b
    我囧了+ B* v% S. U5 A+ J4 ]! d
    建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    7 J& D% I* N2 Z1 F- d- P: T
    ) ^+ k" X$ R- o2 c之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 246

    魔法值:15162 / 15162

    生命值:6%

    升級   100%

  • TA的每日心情
    奮斗
    5 小時前
  • 簽到天數: 6027 天

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣) x; U* s! M' i, H5 n, V
    不過我認為* h# o) D% r5 H4 D8 R) z
    更改遊戲造船及防禦的方式才是解決問題的治本方法8 J5 D( _* H5 x% N1 A; ?4 u6 b8 k4 q- T

    3 x) v1 k! t) Q5 O例如要造1000W回收船
    2 L) A4 O' [3 k: d, c; {0 b6 i- s根據a大的描述/ U7 t/ V) L1 g! @: p1 Y
    大概是造一艘便要一個sql請求
    $ c  q, @0 K  C' V) D6 O) B5 m. I6 F
    . I8 i& {: T2 u2 D- g" pquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000; c$ M. E' I% F- }, q
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    0 H. L" O3 f6 Q+ }0 s/ Squery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ( W, r) o7 I! x. ~& w/ s. c" N8 j...... (略9999996條)7 G7 b" X/ L" l4 F
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000; v4 i; o4 h- `: f
    * J2 B! ?# N6 H- [, l/ M
    這様造一次
    ) S+ J) U% X9 U7 N! n* t' zsql請求比運作一個月的無插件discuz論壇還多
    - q" e+ m/ `9 h當然就是虛耗資源
    - q) l6 }$ `8 U: A
    8 g( K+ O% ?8 ~但如果改成一個sql請求完成全部建造; H5 m. |  J% o7 ^
    不但建造得更有效率  P, R# S# m1 s+ f% Z9 Z, F
    造一次對伺服器資源使用也是近乎0
    ! f4 I, C: O6 t5 ^* u, ?4 W  f

    8 z1 _3 w: y* F7 D' N$ L* gquery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-200000000006 k' R( v* A  j
    ! c( r# f) K: M8 I
    當然這只是基本概念; ?& n9 Y8 ~* m; e. Q/ P, x
    要進行修改也有一定難度
    . ]% g* Q5 |) n3 e% s( E4 {
    因為這只考慮到建造時間=0時的情況
    % `7 T/ u/ [! M) F- V如果建造時間>0
    4 l% O  s5 H8 |$ ~/ }就要考慮頁面動態更新之類的一大堆問題
    0 a- e1 Y. n# p# W1 u只好希望未來的3.0版會作出改善; G  j. P( x, N( X$ A2 q4 `
    b1984207 發表於 2010-12-20 09:17 PM
      V$ c& o8 I% S: z% O
    我在遊戲後臺幫玩家代造船艦或防禦的時候
    % n9 C6 s+ ^, ?; M& d就是像你說的這個概念, I' `! I2 u/ A
    只要一個SQL請求便可完成全部的代造
    + s9 C8 B2 ]* N5 L9 m, f7 h但是要改成只需一個sql請求完成全部建造
    : [( m* w3 ~- F0 F) S0 Q9 y; t的難度性很大且很高
    / X9 v2 `* ]+ T3 Y1 X- }) Z% n而且有幾個源碼檔案裡的一些代碼
    4 T: Q2 _  i- o可能甚至要全部改寫/ f* y, o# ^+ T4 @" B, H' D: ]; T/ q
    所花費的精力跟技術與時間不少0 W* ]+ N5 ?7 q1 W) `" r# T
    不過能找出原因與臨時解決方法7 l2 b3 x1 G3 q4 l7 o' O! l4 |
    已經算不錯了6 b% W1 y$ z& G& d1 m* e. n. u" M
    真正治本方法還是交給
    , A/ U& b. u4 @: \1 f# T全新的3.0版專業開發團隊' f) K, o) |. O6 d: J
    來做處理吧) _- w4 X- ^) Z+ u  F$ |
    但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6993

    生命值:9%

    升級   91.4%

  • TA的每日心情

    2018-4-4 18:32
  • 簽到天數: 103 天

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??
    ; }. H  ^) H+ H5 A((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5422

    生命值:2%

    升級   5.95%

  • TA的每日心情
    慵懶
    2011-12-10 00:10
  • 簽到天數: 1 天

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣2 G' n" p1 ?0 {
    不過我認為
    * X# W: ?) ~5 q+ x6 j* s更改遊戲造船及防禦的方式才是解決問題的治本方法3 a8 R4 Z+ g) S0 a

    $ b4 j4 H- O6 B4 ^! W例如要造1000W回收船
    # g9 A! N( z8 L7 ?, L0 O/ a ...% D$ O8 ^$ `) L# Q) p( j6 ~
    b1984207 發表於 2010-12-20 09:17 PM
    4 H1 _* m/ l9 ]* D, a5 i5 s, {0 S
    你是不是想這樣
    / U! ~7 D: D( x. {假設用戶輸入傎為a* W9 V, b2 Y/ J# p' B% l3 g
    假設一隻回收船要一秒4 b3 C3 o) n% m: d( d
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12316 / 12316

    生命值:3%

    升級   100%

  • TA的每日心情
    開心
    2025-9-3 21:15
  • 簽到天數: 4406 天

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯
    / l) @* c' R7 t2 q; H9 c
    你是不是想這樣
    - @0 q  u2 o& j假設用戶輸入傎為a
    : K% x& ~- i9 l2 i假設一隻回收船要一秒! u0 l8 x- f* g* q
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...
    & @0 V2 s6 M' L7 L2 \% C! [+ @, Eqweasdz 發表於 2010-12-20 10:11 PM

    3 P* L+ o* X/ w: Q; _% Y$ U5 ^- g. l6 h7 U# H1 m* F8 y
    也差不多吧) H0 N! l2 o7 y6 n7 h2 Z2 X
    我的概念是這樣
    - |, v' z2 s7 w9 x3 S& v
    ; l1 L$ ~1 b& d) l2 F4 a0 V完成的時間 = 現在時間 + (造船數量*每隻製造時間)+ O9 p/ x0 y. A! r: s
    4 g+ A+ J% J, W  E: \1 ]
    sql query 就這樣... (不肯定格式對不對)+ b9 T, q( h) c) [
    INSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)2 n9 J, i. @; p; n9 [
    7 t8 {6 b; {3 x! r4 J: I/ n
    然後就像你那樣減去所用資源5 {& R$ Q4 q0 P& C6 Y2 b3 d+ C7 M
    : {% p( s/ k' x, R
    之後在進入造船頁面時. A6 r7 O! e4 p3 n: ]- Z
    由資料表拿回資料, e+ \) V* r4 ?, _1 \
    計算餘下時間
    " \. I' T, c1 q  z5 R) \: j: [未完成的話就透過javascript進行頁面動態更新餘下時間7 l+ a4 `. Z6 ~: e% k4 c
    直至完成7 |: q7 ~+ T4 T# E5 U& p0 p0 a
    完成後就在艦隊加上造好的船. n; {1 \7 H! j1 K' y7 g
    然後就可以拿去開戰了...
    0 b+ H& s. ]6 z$ Q& e. n2 u
    + y5 ]2 f( d  s1 \# x不過這樣做的缺點就是必須在全部完成後才會得到船( v) l: J1 {6 r* Q7 k! `8 V
    例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0
    ! d/ t9 x# J0 J# {0 {0 G/ b0 G0 N如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

    參與人數 1聲望 +50 現金 +200 收起 理由
    admin + 50 + 200 我很贊同

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3412

    生命值:9%

    升級   24%

  • TA的每日心情

    2013-4-1 01:09
  • 簽到天數: 16 天

    [LV.4]偶爾看看III

    發表於 2010-12-20 22:41:15 | 顯示全部樓層
    終於修正好了 ~ 感謝站長喲 ^^
    您需要登入後才可以回覆文章 登入 | 立即註冊

    本版積分規則

    QQ|Archiver|手機版|禁閉室|MyXNova (原 myxnova.com)

    GMT+8, 2026-9-22 05:54 , Processed in 0.018783 second(s), 13 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

    快速回覆 返回頂端 返回列表