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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 246

魔法值:14900 / 14900

生命值:6%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:
    " k: R4 V4 E2 X+ v8 ^0 `, z全新的伺服器軟體與環境正式啟用5 }- u* b9 t9 N
    這大大的減少的伺服器的負擔
    / v& o2 |$ c+ H; }& ~: a因此建造延遲時間由100微秒
    3 h' h( [  \. d: @5 a縮短為25微秒。
    / c! [1 f, ]% v3 e9 ^+ l9 i----------------------------------------
    ' l- M4 J# W- U5 l5 U7 x12月23日更新:
    # C9 J3 B* C/ Y9 C站長建議各位每隔10秒鐘後再按另一次建造按鈕; f/ ]: e% ^- t3 N( V
    這樣會為伺服器的負擔減輕不少: D8 h- `, p8 s8 j
    而各位的帳號或星球也不會出現空白畫面的超時情形。
    8 ^3 X0 E. f0 D; uP.S也就是說輸入1000W按建造6 h5 E! g/ F: x- _8 n
    之後等個10秒
    : r) y) N! s1 x) w  @3 Q然後再輸入1000W再按建造....以此類推。
    # r/ s- L% o$ C/ p2 @& D3 {----------------------------------------
    ) S/ b" S' h3 x* f12月22日更新:% C4 z# X% z9 {: F
    以下的情況只針對同時間裡
      h" W4 E6 l, |* X% Y7 t2 @- J; A只有一個人在造船或防禦# d- z7 |& h& e5 n+ L1 W
    才有明顯的改善1 E$ Z3 V' f# o
    但同時間裡且同時有! D1 |2 w+ t5 y2 Z* ]4 k  k0 P
    多位玩家連續造船或防禦
    ) c/ y6 ]# [& w/ X+ \那麼伺服器的CPU使用率
    & E' q7 b) A" Q2 N, S( x" N4 ~又會跟以前一樣是100%
    4 |3 E3 V) @9 d+ J  r6 S* U+ b% v4 _只有改善一點點+ P, C4 K9 K( {9 D
    於是站長又將建造延遲時間: z# G0 z3 m: K7 L; N0 B8 u. J
    改為50微秒了& w, q2 i0 z. i; F" u3 J- w) X
    現在每建造1000W的船艦或防禦要花8分鐘左右的時間4 O2 G" q: |; Z+ ?& P, }
    雖然建造時間多了不少7 i0 S$ \$ W: a9 w' J
    但伺服器的負載量大幅度的減少了' ~# P7 }3 x. V( E' i3 |, B% |9 k
    且總比死當不能訪問要來得好多了吧?
    , |* J5 I  L8 n0 n8 T--------------------- g7 i2 L0 v/ Z  X
    各位玩家們有福囉~
    7 t- H) ]- U+ F! t' w+ Q' Z) P即日起可以不必再忍受
    0 r4 P' s; K" _建造數量只有1W以及) M7 V3 S) r1 d! C/ L
    還要請GM幫忙代造的痛苦了# c& }% |- f/ t8 j" X
    經過站長1天的思考與研究後
    ! c# O1 I# T! D! e, [終於發現是什麼原因
    + ]- G4 k: T" j讓遊戲在造船或防禦的時候4 s3 M: s. z  U4 ~; Q
    讓伺服器死當或者很卡的罪魁禍首了
    $ a6 ?  B  x2 R7 r% F1 I' I, N( a並不是因為伺服器規格與配備不好所導致

    * Y4 i3 O) ]; G. t真正原因是因為每建造一艘船艦或一門防禦
    2 s& e( L- h. Z) J3 M  a中間沒有讓伺服器冷卻的間隔時間
    4 y2 d4 {4 O# X8 p3 J3 _所以才導致伺服器在沒有冷卻間隔時間的情況下! C# P: z1 `% Y+ m
    無法瞬間處理大量的SQL指令與數據
    $ X; }+ i2 Q$ O所以才導致伺服器出現了死當與很卡的情形發生
    - U* A, p/ r" n+ C
    現在站長將每建造一艘船艦或一門防禦的
    5 I1 x- v1 R# d. w$ d6 h+ A. f冷卻間隔時間由原本的無冷卻間隔時間
    : W& G3 U# a! x/ U8 z9 s" ]/ c改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦
    4 ^/ [+ D  s) K* j7 Y& Y2 P' u
    而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    3 A0 X6 R6 {7 c現在每建造1000W的船艦或防禦只需花9秒鐘
    , q9 p  _" a9 ?7 PP.S建造2000W的船艦或防禦要花18秒鐘0 {6 m0 a8 h+ k# Y0 j
    建造3000W的船艦或防禦要花27秒鐘.....以此類推.....
    ; C; J. |, O* X3 Y8 a2 ~對各位來說應該不算太過份吧?
      M7 P- ], y' E2 s& X* I
    在還沒修復此bug之前3 F  Q( e; W" d: F6 k# A3 y
    建造1000W的船艦或防禦只需花0秒鐘
    * U3 X" Y7 k7 [瞬間建造好,不用等
    9 Z! R+ e! j; [( ]但是給伺服器的壓力太沉重了; W( {* z3 g; y+ O0 j! a* I
    寧願稍等幾秒鐘的時間
    # r- J& O% l' C也不要讓伺服器的壓力過大
    ' F4 V6 o$ l6 W3 ?  F$ \而導致伺服器死當或者很卡) @- T: y) Q8 Q6 T7 W+ y/ }
    各位說是不是?
    4 v! o8 s5 T' f6 i( \; q; K+ n
    4 l3 [" @! A" P6 f
    *對本帖如有問題的玩家
    0 @4 E9 K% S0 m; S2 W或會員們請回帖提出
    * M7 M$ O: Y, I1 D$ K  {! E' }8 F站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 10275

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 9038

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大: P4 K  h4 A: }; l, c) J! b1 z9 G0 I
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12107 / 12107

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣& ~6 k& j0 q0 F5 ^5 G7 v
    不過我認為- b3 D0 [" X. Z+ W: B! l- |
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    & V- N; ?, h" m) i1 s9 u2 g% u. J% D9 u  ^
    例如要造1000W回收船
    ( A1 p3 o; p% I1 [# J0 z根據a大的描述; B7 W* u# ]* q7 ^7 s6 K9 i
    大概是造一艘便要一個sql請求
    - b4 m1 d0 u9 U" _+ b8 e# V& h7 C& R- ?* \' T2 \+ X  I
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    % V# C6 B: `$ ?query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    & R4 {' _6 w9 u/ d, Hquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000' Z" r7 M& X) G+ A9 d0 N
    ...... (略9999996條)
    ' s7 F) ^# v7 b  h7 E5 xquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000$ b" G9 x( m4 O) `. ?; r

    $ X9 z( v+ d3 W) M* O6 P- B- ]5 d這様造一次% T- }& t  L! d& h, A5 R0 ~0 M, {8 r
    sql請求比運作一個月的無插件discuz論壇還多
    , x4 B5 Y6 ?) O( h5 z. Z當然就是虛耗資源+ I( A+ {% h9 I: ~* B. I9 d) w
    ( v3 g, F% Q3 a
    但如果改成一個sql請求完成全部建造
    5 P( \# G$ j- i5 p( m不但建造得更有效率& P2 g+ g2 J8 ~) b! Q% `  ]* }
    造一次對伺服器資源使用也是近乎0
    ! O  F: O$ R; _9 v/ ?
    - E2 z( k( g$ K) Y9 Pquery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000# N2 Y" q" ]& c8 b
    ( w! {9 b+ ?+ D* @& {+ ^* V
    當然這只是基本概念9 R! g& Z; `. I
    要進行修改也有一定難度0 w3 B" G5 U7 m" ^" O9 c* n
    因為這只考慮到建造時間=0時的情況' z% R1 w- ]# z& @! \: N
    如果建造時間>0# @/ f4 r& m- R* L1 y/ O5 J4 r. z: ^
    就要考慮頁面動態更新之類的一大堆問題# t0 d" v/ l7 ?9 a: {% A
    只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 4165

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........
    8 I8 ?4 t9 N2 ?, V  r4 D我囧了
    ( H0 H% l5 \; n+ B9 ~! y1 N9 h建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了, b7 V& h! ]$ x
    " C, L! J- i' C! T2 l+ t! A* ~
    之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 246

    魔法值:14900 / 14900

    生命值:6%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣3 e+ l; e  s+ X" D
    不過我認為& O$ \  ^$ Z* {1 Q* t& E  a
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    . l0 A  C5 |( z% L) f$ y, `+ x, \- \3 ~- Y* G: Z# G
    例如要造1000W回收船
    / Y8 z6 v! s: U% h  P( N根據a大的描述
    7 Y8 b; Y1 Z# x" ]- x. q1 Q4 h' q大概是造一艘便要一個sql請求
    ! Z2 k) ~. ]" i3 r0 d0 [% C0 x  R! N& P) L! z- w. a9 j, o# O1 Z0 p8 b
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    % Z7 @$ Q' s- [7 Iquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000% o' c9 |4 f' d4 U
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000/ i4 E# J/ Y* s5 @
    ...... (略9999996條)
    ; s, f7 U; d/ e* g4 U' K) wquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
      y6 ?/ @" e9 a$ m8 b. X2 o& ]9 e. N. W$ I' P
    這様造一次
    + H" b0 q/ @1 Y( J0 ?* E# g. |6 Nsql請求比運作一個月的無插件discuz論壇還多
    5 |# X! z, t4 G, ?當然就是虛耗資源4 V3 j! F' t6 k7 N
    7 \# t, C1 f6 O' E: U$ L) @  j
    但如果改成一個sql請求完成全部建造& e1 V0 T1 M2 m" ?' m9 q: W
    不但建造得更有效率
    7 \+ @2 X/ Z' }7 u% _5 m3 C造一次對伺服器資源使用也是近乎0

    * l/ }% L& Z) p. `" Y
    , {1 V7 I' D& ?6 m  `query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    8 _) ?( G, J1 \# v1 o
    ! e3 a7 r! Q4 S/ e7 J當然這只是基本概念, M( `8 @; d' f$ U0 R" T* m
    要進行修改也有一定難度
    + o1 O+ A9 M6 d# N2 M% E
    因為這只考慮到建造時間=0時的情況
    , j. K/ A8 R1 m, B% o如果建造時間>0, K+ v/ `' ^) L5 H# p) Z+ |$ y" x
    就要考慮頁面動態更新之類的一大堆問題, R, d4 H( w1 u; V! W$ Y: S& m
    只好希望未來的3.0版會作出改善4 S3 J6 j* V* l( q1 F" a
    b1984207 發表於 2010-12-20 09:17 PM
    : D/ Q4 F( W2 H. c) E( f  B. x
    我在遊戲後臺幫玩家代造船艦或防禦的時候) p6 b2 R5 M. a! l. O7 Q3 `0 d* ?. E8 r
    就是像你說的這個概念' h: @$ q' ?4 L+ T3 J" W% q* Z
    只要一個SQL請求便可完成全部的代造& v/ r; x: {3 k* w/ y
    但是要改成只需一個sql請求完成全部建造
    % @& C% J! Y% _% r的難度性很大且很高
    3 J# N& V7 F6 i: o) E; ?3 _% l而且有幾個源碼檔案裡的一些代碼
    + P; l+ k- @. D/ K7 j! M6 R可能甚至要全部改寫
    2 h6 M& k. X: Y! E8 w+ J* G所花費的精力跟技術與時間不少
    $ H7 ^9 ]2 e/ S9 [7 w不過能找出原因與臨時解決方法
    9 M% q: C* M3 ]4 H已經算不錯了- V0 B) X0 ^3 U9 q1 S
    真正治本方法還是交給% r) M* l) n! Y" w( a  i
    全新的3.0版專業開發團隊4 N2 V* B2 i& Q  b' B5 s) F+ C: C. e5 Y
    來做處理吧
    ( S; y) O/ b+ H4 U: g但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6876

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??$ s7 n  y7 P1 W% M3 Q% X
    ((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5331

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    $ {  }' V1 B8 r0 y不過我認為
    7 f  x  d: @" z: T; @3 K2 F更改遊戲造船及防禦的方式才是解決問題的治本方法
    , t1 R( Y* r7 K9 G; \& w
    ; O+ J9 V  H9 ^9 R8 B& |3 b+ H例如要造1000W回收船
    ( f6 Z2 r) S6 Z; h  V' @0 M ...2 S  l$ T$ v5 o0 i
    b1984207 發表於 2010-12-20 09:17 PM

    3 D0 B6 v3 h" y6 ~: f  K你是不是想這樣
    9 ?& n6 `1 O1 Y6 M8 D/ G- U5 F* o假設用戶輸入傎為a
    . F+ C, `, j0 h7 h; I: r假設一隻回收船要一秒6 A7 [4 ]5 i6 u; y0 U! q  L
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12107 / 12107

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯
    / p4 U, A/ c. j6 P: T
    你是不是想這樣4 U  A+ h/ |6 {
    假設用戶輸入傎為a
    + H, l9 U( O3 F& K: v) H4 D, Q假設一隻回收船要一秒4 E. y7 D: x  R. ]3 C+ x) \- p4 G
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...
    * f+ S3 j# H% a7 s. D* oqweasdz 發表於 2010-12-20 10:11 PM
    ; b/ `0 H0 Y0 l+ U! }5 W0 S
    / ~$ l% {. ?' S+ n# {
    也差不多吧
    5 g8 R2 N  b9 o) ]' c/ F8 P4 V我的概念是這樣2 c3 W* N! m0 R' |
    1 f- N. l  x' b, B) w' [6 E
    完成的時間 = 現在時間 + (造船數量*每隻製造時間)
    " V3 r3 n$ I% n5 x/ l5 V
    % E8 z4 [) ]1 P9 B5 L+ ^+ H. N7 g- xsql query 就這樣... (不肯定格式對不對)" v8 n; |1 ^* T  @
    INSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)
    + b& L! f' m& B8 _' ]3 X  v) h5 H8 h& k2 O6 d- J3 d, G, X
    然後就像你那樣減去所用資源3 j) o; ]- f+ E$ V2 J
    . q3 i- O4 c- {7 j3 P
    之後在進入造船頁面時, `/ ]/ r, ~; U, {
    由資料表拿回資料3 j% K) l# _( T2 R/ L- d
    計算餘下時間: X& ^- R% S- E4 d+ R8 v6 z' ]/ v6 e
    未完成的話就透過javascript進行頁面動態更新餘下時間4 Q2 j9 x8 i6 ~5 F# T+ z
    直至完成
    2 v$ h& ?1 q: Y: |  L! o  }完成後就在艦隊加上造好的船
    + A: Q6 @" N5 v! ^2 u7 A然後就可以拿去開戰了...1 g4 l, m# |2 G4 X! d
    $ ^4 c- }: f# B, T8 W7 o
    不過這樣做的缺點就是必須在全部完成後才會得到船/ A) D. e  M: f" k) [
    例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0" _3 p0 F$ T$ Z9 D- y6 s
    如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3354

    生命值: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-6-16 13:54 , Processed in 0.018494 second(s), 13 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

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