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

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

 火 [複製連結]

等級:25 - 爐火純青

經驗值:0 / 247

魔法值:15256 / 15256

生命值:7%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:; O' T/ G0 s7 X! v8 i1 Z- z
    全新的伺服器軟體與環境正式啟用
    8 S" |0 e, D8 B這大大的減少的伺服器的負擔
    * ]; E0 q5 d5 h5 N. Z, I4 R( S因此建造延遲時間由100微秒
    5 f& c/ I, W, o9 h& P縮短為25微秒。
    / P3 r8 h/ u( {* F& J( F" c, F) @----------------------------------------
    ! V1 _2 m% @" t( b12月23日更新:2 q4 ]1 m, x+ \& ^8 g- S" K! z# o8 a
    站長建議各位每隔10秒鐘後再按另一次建造按鈕+ c& s3 h% T9 k
    這樣會為伺服器的負擔減輕不少0 q, a% I4 l% V$ l. e# F4 j( b% b
    而各位的帳號或星球也不會出現空白畫面的超時情形。
    0 {  o' ?5 i$ s) EP.S也就是說輸入1000W按建造
    % P- z) A# K; Q2 ~8 L, b. c# C& o之後等個10秒
    ; k) n' z) }- j+ P" o( X( R然後再輸入1000W再按建造....以此類推。
    0 ?' F# s& r$ o3 d" ~----------------------------------------5 U7 F4 k1 Y4 _8 M+ v+ |7 t
    12月22日更新:! Z+ I9 V7 o  z7 c
    以下的情況只針對同時間裡
    - }: \7 H1 J# _# x只有一個人在造船或防禦6 w& ~3 i4 j3 F; z! f) ~# |
    才有明顯的改善
    9 m: V5 Q) N7 M但同時間裡且同時有5 `  u9 Z, g) c, {: D
    多位玩家連續造船或防禦! W, T# D% [; Q8 C& D1 V
    那麼伺服器的CPU使用率
    ( |, q! t) i- H又會跟以前一樣是100%
    . @" @# p* I/ t4 w0 y; u只有改善一點點5 J+ _+ D( Z4 j2 i8 @" N& C
    於是站長又將建造延遲時間
    2 Q2 q+ B$ G; Q3 d6 s改為50微秒了
    ; C$ @- v* q( O現在每建造1000W的船艦或防禦要花8分鐘左右的時間
    5 s# s: f0 B1 r+ j6 p0 z雖然建造時間多了不少6 F: X7 ^% X3 L) b4 W# e& t4 @3 Z3 {, U2 ^# a
    但伺服器的負載量大幅度的減少了% `( G0 M/ W# _5 o; ^( e
    且總比死當不能訪問要來得好多了吧?
    + `4 Z$ n6 ~2 V/ |2 w; [--------------------
    7 l& K2 W2 }0 t' Y0 N各位玩家們有福囉~
    3 C: c0 O& A" k7 Q+ @- s即日起可以不必再忍受; z7 y: b4 R# |
    建造數量只有1W以及+ t) ^" Q7 A2 Q! I0 d' c
    還要請GM幫忙代造的痛苦了# q, E$ o5 v& d; V- s) j, X
    經過站長1天的思考與研究後! p- q+ m$ x5 W* u8 l2 e2 C0 y
    終於發現是什麼原因; ]% P3 v; A& Z# B& R
    讓遊戲在造船或防禦的時候
    & M5 u; [; S4 x- C3 t7 w0 M讓伺服器死當或者很卡的罪魁禍首了
    - [# Y1 X; T; V5 Y6 h/ N' x: [並不是因為伺服器規格與配備不好所導致

    6 \  R( @/ l" [' N真正原因是因為每建造一艘船艦或一門防禦
    # I: H% v8 n1 e) [- X+ f3 B中間沒有讓伺服器冷卻的間隔時間8 y- H8 m7 B& {+ d" y+ Y0 d
    所以才導致伺服器在沒有冷卻間隔時間的情況下9 z( f+ B7 v+ X3 o
    無法瞬間處理大量的SQL指令與數據
    , A  L! ~: k0 r' B+ R3 c所以才導致伺服器出現了死當與很卡的情形發生

    1 H- Y6 d' @0 u1 Y現在站長將每建造一艘船艦或一門防禦的
    7 b; B( V7 o# I6 h/ [5 U5 o) ^- j冷卻間隔時間由原本的無冷卻間隔時間. g# F- n% f' V1 @3 J
    改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦

    % n1 [: L% t" }而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    ) o5 ?8 F  x# c; B  V5 ]! f1 g5 w% m現在每建造1000W的船艦或防禦只需花9秒鐘
    # Z1 a) Q. S- o2 F  @9 mP.S建造2000W的船艦或防禦要花18秒鐘
    # G$ X+ `9 G1 Y! a5 ~% z4 w建造3000W的船艦或防禦要花27秒鐘.....以此類推.....5 Y. f) l9 \7 H) `
    對各位來說應該不算太過份吧?

    ( Q7 `# {7 W$ O0 H: m7 S) P& g在還沒修復此bug之前  Z7 X1 Z( s$ x& S
    建造1000W的船艦或防禦只需花0秒鐘% @+ e2 L5 H; d3 V- S0 \3 Q
    瞬間建造好,不用等* j0 c3 ^0 s. Y/ w' Q8 I( b& z
    但是給伺服器的壓力太沉重了. i9 v# ?$ G  Q. g, j/ ]/ n# D
    寧願稍等幾秒鐘的時間& o; b/ ~* G* i/ E' W
    也不要讓伺服器的壓力過大
    $ O, K& T- f6 j4 A" ?3 |6 _& t  g而導致伺服器死當或者很卡- O9 h7 i3 i3 x* }+ K
    各位說是不是?
    + s! v7 ~# L5 G' n
    ) f" w1 l8 L0 T1 ]2 y  Z/ x
    *對本帖如有問題的玩家
    , K$ X: I3 Q3 `/ }: V或會員們請回帖提出
    1 X1 L* @/ a  t, W5 F站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 10501

    生命值:1%

    升級   100%

  • TA的每日心情
    怒
    2012-12-28 00:53
  • 簽到天數: 7 天

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 9236

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大: P0 G4 f& p4 K
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12389 / 12389

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣4 }6 C' U3 {5 z' L; ~+ u% i
    不過我認為
    6 u% v2 Q/ T! p7 @更改遊戲造船及防禦的方式才是解決問題的治本方法
    ! `4 U2 W* A1 Y. L4 ^
    & ?2 M4 v4 M+ c3 T% b9 U例如要造1000W回收船
    " w  k8 v! o; A6 I1 [, L6 Z' v根據a大的描述
    & j' \7 w6 j9 |+ n% i大概是造一艘便要一個sql請求& s6 v8 n; N+ U5 k
    9 {1 Z# G' \# z) m, A4 @6 W6 Y
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    6 G2 x) @  x6 x( l" v$ a1 F0 T( squery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000" S2 I0 A! E1 Y4 \# c3 P0 W
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    3 o7 u: P3 N9 O: p8 e/ }...... (略9999996條)
    4 e. l. Z0 l5 ]/ R* _query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    . \" U1 m: g  V9 |8 H$ q4 S) Y7 H( r9 U& f& ?
    這様造一次
    ' h6 @- `% o6 y; k6 u4 O9 tsql請求比運作一個月的無插件discuz論壇還多. Z: h8 [( k2 N6 g+ M5 G) i1 H
    當然就是虛耗資源) ^& O& s% S+ G4 b$ B5 r
    % T9 w6 R: h0 G% E' ~( g! y
    但如果改成一個sql請求完成全部建造
    7 H2 j6 w! z5 x' h0 a  ?不但建造得更有效率
    + b! w/ Q  ~6 H  \) v9 a1 O( N造一次對伺服器資源使用也是近乎09 W) J1 W+ m% H+ F

    ! u" \$ l* m& p4 P; f: i3 pquery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000. q' D1 A8 H& q# _) p

    0 u; M3 p( I% _. `1 J當然這只是基本概念1 J: B  W3 I3 i3 g9 I5 m1 ^
    要進行修改也有一定難度
    ; |. ]! j; u, ^7 X& [  v) E因為這只考慮到建造時間=0時的情況$ N0 j! C5 u5 M" _: j1 a1 V  F. L
    如果建造時間>0
    " m4 y% |1 v1 e! M3 b2 p6 K就要考慮頁面動態更新之類的一大堆問題
    / Y1 i8 ^/ c% B! G/ p, k. O只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 4262

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........
    : m: ?$ O3 F1 G1 l3 A1 T. @" G' \我囧了6 m( i0 S, W1 a. Y. a9 J9 M( P
    建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    9 u( \5 }3 w0 x% r- r+ Q
    7 r! H% N: N( u之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 247

    魔法值:15256 / 15256

    生命值:7%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣% }. h! X4 G4 N: t
    不過我認為
    ! E+ A7 R$ \5 Q' T更改遊戲造船及防禦的方式才是解決問題的治本方法( K2 ~. ?% _/ M
    1 j( v( H, U2 N! Z$ C
    例如要造1000W回收船! U% u: B+ S6 M% F, j
    根據a大的描述  R& U" H* B/ o) f' H: ^. t
    大概是造一艘便要一個sql請求
    ; e7 y+ h2 u- r6 _' ?! a1 U- o9 u
    ' n  z' t7 V; W# f6 mquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000( W7 v* `! l4 n8 j% \, ~% c
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ! m) H% r# f! Z4 N5 fquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000- |7 L$ R0 G0 s. c
    ...... (略9999996條). Q& O- p. C" i$ k# M8 i
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20008 E- v0 L% a; g& i. N
    ! W2 o7 b' Y9 [
    這様造一次4 r7 B$ j2 p3 F8 X
    sql請求比運作一個月的無插件discuz論壇還多1 }! b2 z8 M  }) ^6 Z1 p
    當然就是虛耗資源4 I+ b8 J- q' @
    ( v& m4 i) }9 E5 [/ T
    但如果改成一個sql請求完成全部建造* i0 o) N% {7 G+ B( i7 a' @$ A
    不但建造得更有效率
    3 o/ ?% _5 C3 z( T  F* C造一次對伺服器資源使用也是近乎0

    " D0 c; C7 o3 c* Y, H  @0 l. c6 @8 C; G: q  y! F% T
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    & k: A( L$ C6 b* L# S* z
    7 H3 Q7 x* [; J& p2 s當然這只是基本概念) M0 G1 Y. m  @4 A
    要進行修改也有一定難度

    " I" V- P  ~  O3 Z因為這只考慮到建造時間=0時的情況
    # g: G  f0 T7 V$ T- t% E如果建造時間>0
    0 V! c$ ~) y; J, [: _% ]' i就要考慮頁面動態更新之類的一大堆問題
    % M3 j7 D$ L3 O, j$ t只好希望未來的3.0版會作出改善1 k- b  o9 I6 v1 b
    b1984207 發表於 2010-12-20 09:17 PM
    - j- j& f0 g( e  j
    我在遊戲後臺幫玩家代造船艦或防禦的時候- X8 M  [5 q$ p8 k
    就是像你說的這個概念
    1 k4 g8 @( J6 t( r. x! l+ y只要一個SQL請求便可完成全部的代造
    8 f2 O/ T1 C7 p; F但是要改成只需一個sql請求完成全部建造
    $ h7 s2 J6 G, U: q的難度性很大且很高0 a. u- s& T, q( d
    而且有幾個源碼檔案裡的一些代碼$ G8 M! F% B* [- J3 p: _4 }$ ~7 }
    可能甚至要全部改寫
    4 Z2 K6 l; g/ O所花費的精力跟技術與時間不少( e# B: h8 O( m* B, v* P8 h4 y! H
    不過能找出原因與臨時解決方法% {7 t* m$ r  c% O
    已經算不錯了2 e* A9 k. d/ _+ {! |. j6 j
    真正治本方法還是交給/ w# W% m" A+ `/ \3 F6 R
    全新的3.0版專業開發團隊
    , e% n' _( w. S! c$ E來做處理吧
    . ~9 v7 g/ I. f6 A" U& N但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 7033

    生命值:9%

    升級   91.4%

  • TA的每日心情
    衰
    2018-4-4 18:32
  • 簽到天數: 103 天

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??8 L6 A$ M2 `6 k
    ((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5454

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    . G, A# u! w" G9 M+ ?6 p9 O2 n5 h不過我認為9 e! D6 w' p/ N: f$ A! Y
    更改遊戲造船及防禦的方式才是解決問題的治本方法& [4 o' M8 v4 o! I
    5 P" Q; o$ ~9 O+ q4 U( }
    例如要造1000W回收船: N! r0 F8 |# O0 G' R
    ...
    % [7 T& e* O( f0 v2 r& L& |9 eb1984207 發表於 2010-12-20 09:17 PM

    ( R& S; s  U# M3 ~8 i- X2 @. `% T% q你是不是想這樣
    + m# ]6 ]; U- ]" [. y" _假設用戶輸入傎為a1 F* N' E& v) s6 l. q
    假設一隻回收船要一秒5 a! d" V9 ?& Q8 ~# U" U
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12389 / 12389

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯 9 f$ p% S) s0 A7 I1 n" C) P
    你是不是想這樣
    0 B; R) h3 W7 b# e假設用戶輸入傎為a
    5 p) Z5 ?' u. ~; k$ _$ g1 l6 s7 \假設一隻回收船要一秒; G: {# B2 k/ C8 z) n* |6 V
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ..." l# ]% K6 Y$ J8 U
    qweasdz 發表於 2010-12-20 10:11 PM

    1 ~1 b/ {9 D& I0 S
    4 @, ^" V: I$ ]/ C也差不多吧" H! Y4 T. g* \' u$ u! q
    我的概念是這樣. N# r0 p+ v* j* w1 K* F7 P
    * b# Y$ S) {% f: y& k2 b! S; V
    完成的時間 = 現在時間 + (造船數量*每隻製造時間)
    ; Q6 |" I$ `5 S  E- H# K( g/ D5 H; x0 e* b$ y
    sql query 就這樣... (不肯定格式對不對)
    ( n8 n5 W: _! k9 aINSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)7 u9 j9 x9 ~8 n- F4 o  x2 K
    - T3 e4 d! W3 ~* [( _& X
    然後就像你那樣減去所用資源$ n) J  e2 v( R

    7 ?- P8 ~+ [. s+ ?之後在進入造船頁面時
    ( Y0 E9 W: ?2 m% @由資料表拿回資料
    . G' G* d# a/ I$ A計算餘下時間) s% j. k2 h6 a
    未完成的話就透過javascript進行頁面動態更新餘下時間3 U7 F- ]9 |9 G" @9 a
    直至完成. Z6 Z/ h6 T* p" o$ I+ z% h; A8 F
    完成後就在艦隊加上造好的船
    % g4 r  ?- Y0 V5 Y7 P( _3 J然後就可以拿去開戰了...
    6 v- ~3 k" C; N  C1 C' h/ M, w( M% t3 P" K2 S: p% J
    不過這樣做的缺點就是必須在全部完成後才會得到船0 }; r# ]4 O0 b
    例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0
      N3 F! i: F! m- ?# Y如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3432

    生命值: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-10-26 13:34 , Processed in 0.019505 second(s), 12 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

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