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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 246

魔法值:15162 / 15162

生命值:6%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:( R' T& D. H9 v, [. a. r
    全新的伺服器軟體與環境正式啟用* w6 H0 |, |9 @
    這大大的減少的伺服器的負擔6 w4 M" C! q3 T" u+ ?5 X
    因此建造延遲時間由100微秒
    : `8 O4 R" _5 W/ K縮短為25微秒。
    2 e7 O! d0 n! X( {; P3 k1 q----------------------------------------6 B9 g5 y: [8 t" U5 Y3 z' c& f
    12月23日更新:
    / L. j6 R% W, a站長建議各位每隔10秒鐘後再按另一次建造按鈕1 _6 x' G5 B! Q' N9 R3 m
    這樣會為伺服器的負擔減輕不少; ?2 Q( N! `" ?2 m
    而各位的帳號或星球也不會出現空白畫面的超時情形。
    * Q! Q; X9 }2 t# q7 s- gP.S也就是說輸入1000W按建造
    5 C1 P  w5 a" j- m' `. |2 R之後等個10秒
    4 W3 x6 X/ a- }' h% D然後再輸入1000W再按建造....以此類推。- I) `2 ^9 L" p( E9 j* W9 Y- G! b
    ----------------------------------------
    ' l& \) d/ n, o( J9 ?12月22日更新:" y/ W' ^& K: j; u+ A& {
    以下的情況只針對同時間裡
    * N' J6 B# G  Y) p& t7 B! d只有一個人在造船或防禦# s1 V& S6 Z# H% p
    才有明顯的改善! O2 r; ]6 o$ t1 r, p; u
    但同時間裡且同時有0 b7 n9 n% r: m
    多位玩家連續造船或防禦$ [6 _$ p7 s5 {8 a5 e
    那麼伺服器的CPU使用率) J, ~4 n; L7 [' X1 M
    又會跟以前一樣是100%( w$ Y7 K* D; t6 C( L; \" ~
    只有改善一點點
    ' f3 B1 K' w& [- G/ d) J於是站長又將建造延遲時間0 Q3 v, P+ Z0 o. s  u
    改為50微秒了
    2 a/ {6 G  R: T: x9 D# }6 {現在每建造1000W的船艦或防禦要花8分鐘左右的時間, r7 z2 V2 \) \+ J5 T3 e% u  q
    雖然建造時間多了不少$ R, |5 C2 K. B0 }- z
    但伺服器的負載量大幅度的減少了) B: b' N" O+ U" K+ Q2 D
    且總比死當不能訪問要來得好多了吧?- H8 [5 z" W* `  p  b) h
    --------------------
    ; V  y5 h, Z0 w各位玩家們有福囉~
    0 j: b% S' x' ?5 m* L  {即日起可以不必再忍受/ c- P5 O6 d+ u5 z& t
    建造數量只有1W以及
    9 N" `! A2 L: o* Q9 q; R0 C還要請GM幫忙代造的痛苦了. a% d# [' Q/ ^
    經過站長1天的思考與研究後5 q- s* \3 g* l2 w# g
    終於發現是什麼原因: X0 Z" e; Z0 @3 Q1 }) K3 Y# P  @
    讓遊戲在造船或防禦的時候
    7 I  G1 A& ?4 j& ]; l/ Y讓伺服器死當或者很卡的罪魁禍首了, I- c9 \! O+ V; H2 U4 [5 J- p
    並不是因為伺服器規格與配備不好所導致
    ( Z. K/ J- b, [  g) u# ]1 w; H
    真正原因是因為每建造一艘船艦或一門防禦
    8 ^: _8 t* }9 z- P1 d: ~中間沒有讓伺服器冷卻的間隔時間+ E! N0 l9 V4 T8 x8 ]4 S
    所以才導致伺服器在沒有冷卻間隔時間的情況下
    % `: q3 e& p5 j2 J& j: n無法瞬間處理大量的SQL指令與數據# n  ~4 L, E+ I$ Q
    所以才導致伺服器出現了死當與很卡的情形發生

    5 V, X- x6 r  h: ^現在站長將每建造一艘船艦或一門防禦的6 v. _2 D3 J! F9 t! B
    冷卻間隔時間由原本的無冷卻間隔時間
    8 y" B' m" D1 B6 ]改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦
    - S9 B+ V/ R! K* @* z5 I0 B* W# f
    而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    0 ^$ C5 ^/ o; x/ G4 @1 o% k- r現在每建造1000W的船艦或防禦只需花9秒鐘2 Y: i) l+ A5 C( W
    P.S建造2000W的船艦或防禦要花18秒鐘3 U! m7 A5 e4 V
    建造3000W的船艦或防禦要花27秒鐘.....以此類推.....
    + Z) J/ a, B: ]7 g5 c對各位來說應該不算太過份吧?
    8 v) _- h# [; w1 |* z6 `3 F* S
    在還沒修復此bug之前2 U0 y0 m4 ~: V& e  M% W4 D
    建造1000W的船艦或防禦只需花0秒鐘
    * `# c0 ]5 Y8 r1 B7 E瞬間建造好,不用等9 G$ L. ?" B$ _1 j
    但是給伺服器的壓力太沉重了
    ) b$ v1 M9 }4 J' D寧願稍等幾秒鐘的時間
    * o: @" |/ M) H: o; q也不要讓伺服器的壓力過大+ z% l' _. x$ ^. U5 i( ~% f! ?6 M$ r
    而導致伺服器死當或者很卡% q8 z6 W( H2 Y: V/ u# k3 q* f
    各位說是不是?

    3 e6 u& b8 O( i; G* Y( b0 [; E  o% b$ x# V  t3 X5 K
    *對本帖如有問題的玩家' x* Y/ Q6 Y5 a0 `% [
    或會員們請回帖提出
    6 V5 B3 V# T& Y7 [8 e* S站長看到後會盡快做回覆!!

    文章的最近訪客

    等級: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大! ^( r1 [8 ?2 E% C+ y3 X
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12316 / 12316

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣6 `6 X- p( x% {$ r5 ~/ L
    不過我認為
    " F2 h5 g+ F( W; @( g3 q更改遊戲造船及防禦的方式才是解決問題的治本方法
    " |: c1 D: B  B1 W( F  [1 P$ R7 |8 i( C- \! R3 h4 _
    例如要造1000W回收船
    % m5 F3 l( \4 \% D7 g8 |0 T  _# h根據a大的描述$ ^$ Q, z" Q/ z" l7 R4 I( r5 J2 q4 p$ c
    大概是造一艘便要一個sql請求8 x/ j! b  t: J8 v

    . H- K1 G  J) D& i1 i8 {3 rquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000/ `! O7 o; H( J$ O
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    3 R- p6 g) Q6 N: `4 q% wquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000; y/ h2 }, m) ~: g5 \4 w# d% R: ~
    ...... (略9999996條)
    ! j" c/ A% k. \$ nquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000+ K$ T: Q9 z/ f/ ~0 \

    3 l$ I. y: j+ z9 v3 C這様造一次
    . u# H2 N& I+ R4 W/ isql請求比運作一個月的無插件discuz論壇還多
      o2 [9 N9 W! o7 L8 }當然就是虛耗資源
    ) M" C" B- e: I% V" x1 T- C% s; [+ u4 i9 D- J
    但如果改成一個sql請求完成全部建造0 B& ?3 A9 w2 G5 m* w
    不但建造得更有效率9 J( G6 o1 _% }( z( I
    造一次對伺服器資源使用也是近乎0
    2 x7 h& ]% K& }( x- t  K' n- M! x8 @" x5 L( P3 g
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000/ \3 F) z% u7 e( Q! W) w
    # C% o( v8 I; _- n
    當然這只是基本概念. j7 T5 t/ O) n# |* M* c- w# @
    要進行修改也有一定難度
    . v) l4 ~- w6 V& I因為這只考慮到建造時間=0時的情況3 X: b0 F+ R# Z5 a4 K
    如果建造時間>0
    ' }9 M$ T( G5 [- s就要考慮頁面動態更新之類的一大堆問題9 O+ v9 s" m! t, {' ^( [2 ^9 M6 z
    只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 4237

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船........./ ?$ d. V! O7 k! \
    我囧了
    , w# A- g, K) y- v1 ^  }6 T. f建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    + y4 f& x: Y0 ]1 _
    5 c7 V# L; B& F之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 246

    魔法值:15162 / 15162

    生命值:6%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
    0 D; P' k' i% a$ g不過我認為% _' N/ ~+ M2 R) T7 }7 [
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    3 i/ h9 {- D% b% l6 Y1 Z4 _% z1 K$ u
    例如要造1000W回收船; z- R: {. e4 x$ e. I+ B3 [
    根據a大的描述
    ' f& Q/ W! i3 ?- {4 ^! M大概是造一艘便要一個sql請求5 e8 ?4 l. ^0 `& S& n, @3 b' m

    7 B+ b' U0 ]6 Y1 d& mquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    7 D! r# q  j1 [. A) R6 ~query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    6 I( k( o: @$ P, Bquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000* f/ c1 o; ~9 ^% W0 ~7 E
    ...... (略9999996條)
    0 o7 c4 f7 [9 X/ \1 ?: Vquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20000 W% n2 p/ x# e1 U* ]3 ~: w
    / F  R$ u% V( M7 _
    這様造一次
    " i& S, f1 Q. Z3 K& gsql請求比運作一個月的無插件discuz論壇還多
    " ^  J+ `  g' ]3 O$ T當然就是虛耗資源7 C$ `! O3 k& v: Y' \
    ; V' n! {9 w7 f
    但如果改成一個sql請求完成全部建造1 Y- ^0 A* d/ s
    不但建造得更有效率/ y+ q. W/ [9 V
    造一次對伺服器資源使用也是近乎0

    ! [6 w8 j; @( J0 J$ K8 b4 s4 K6 I; {: V
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000( B/ x  p* k  B: x& }+ v* A$ r

    , o$ H" h( c% ?當然這只是基本概念$ s0 l* P" |1 b3 B6 G8 i! N
    要進行修改也有一定難度
    8 K6 c  ^; l! j7 ~4 s0 C
    因為這只考慮到建造時間=0時的情況4 G6 A4 |4 Y, ]' d& [0 W+ y
    如果建造時間>0+ f& J8 [: ?" \  y/ _
    就要考慮頁面動態更新之類的一大堆問題
    ( J( w; v; t: I5 i- @只好希望未來的3.0版會作出改善
    + Q& f7 U+ n; l& d- G7 Q. Wb1984207 發表於 2010-12-20 09:17 PM
    # W, L2 G! ]+ Y6 s" b
    我在遊戲後臺幫玩家代造船艦或防禦的時候" ]- ]0 j' ^9 E! a
    就是像你說的這個概念
      d: ^- M& N& B8 k7 c4 Z只要一個SQL請求便可完成全部的代造
    3 L& u) l/ e( O3 @. `; p4 X) r- _但是要改成只需一個sql請求完成全部建造7 x. S% p7 L$ x; V4 y6 L6 ]
    的難度性很大且很高% r4 ]9 d6 V: T6 D- t
    而且有幾個源碼檔案裡的一些代碼
    8 c* J5 c' f9 ~; a' o可能甚至要全部改寫
    , \& ^4 N) Q) Q+ I所花費的精力跟技術與時間不少
    $ C  l! B- q( |& P0 M5 G7 C# Y% H! Y不過能找出原因與臨時解決方法
    ( S& Y0 s8 N* t, \1 K已經算不錯了) i3 J* a3 ~6 R6 |1 U) _% N3 p; ^
    真正治本方法還是交給
    ( o* }; m5 c- c! O& o$ o5 }全新的3.0版專業開發團隊+ I2 U! ^( V: [, h
    來做處理吧+ F, Y% }1 |" v0 q8 t
    但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 | 顯示全部樓層
    那現在還有代造服務嗎??
    8 ?: m3 z8 Y* u1 D5 {; _((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5422

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣7 N8 n3 g+ N+ Y" t( p! L
    不過我認為7 n: [6 \0 @; o
    更改遊戲造船及防禦的方式才是解決問題的治本方法7 ^. R( @, K0 {% Y  N: t/ C8 _: P7 V

    3 |% `3 q# z( a4 O( j例如要造1000W回收船' ~* U! b; @7 K3 \
    ...
    ! z' Q" h) w$ M  [% b7 z6 tb1984207 發表於 2010-12-20 09:17 PM
    & N3 D  Q$ X( K2 z: B% q7 A7 \
    你是不是想這樣
    % F$ F$ L( s/ Z2 N9 i8 Y2 c  X9 x* a( ?2 I假設用戶輸入傎為a5 v5 A' q, A8 V8 v
    假設一隻回收船要一秒
    6 S1 ~: b+ _( L$ g# |$ m9 Qquery : 回收船+ 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 編輯 + G% b" a0 k, e) b
    你是不是想這樣
    " Q/ x' y6 w$ H  \假設用戶輸入傎為a6 [' I" I, ^; e" B/ N7 P
    假設一隻回收船要一秒. X! g/ k. \; f' G5 N& h
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...
    - f3 R: Q& q" t1 D/ zqweasdz 發表於 2010-12-20 10:11 PM

    , q8 O3 M  u1 g* I/ h( `* x, B; Q$ n) ^( T' b" l7 R
    也差不多吧% }9 \; E1 y: i1 `4 x7 S+ S
    我的概念是這樣
    5 @$ T* T; p2 v
    ; ]8 t4 g! {: R7 \1 B3 }完成的時間 = 現在時間 + (造船數量*每隻製造時間)8 m+ O% m4 @+ |7 n$ X+ V0 b" k# g, f

    * R, o( G3 I" m, W- X1 Jsql query 就這樣... (不肯定格式對不對)
    " `) e* C" F9 KINSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)
    6 T6 O: @  E, U2 Y# E& X! o, V: Z2 A; a% g
    然後就像你那樣減去所用資源" g7 J( Y4 F$ |
    % D1 @) |4 Q% c7 {/ p0 `
    之後在進入造船頁面時
    : u  t9 ~7 V$ l$ Z由資料表拿回資料7 ?  b# n% }& F' o6 b. N) l
    計算餘下時間
    $ C9 `; |0 i, ]3 b& e) R% R/ C未完成的話就透過javascript進行頁面動態更新餘下時間
    ( v! x. ?) ^: ~: I; M5 K" D直至完成
    + g& \8 O& }; H. I$ }/ A完成後就在艦隊加上造好的船$ V+ U9 _* P7 t9 Y" W% _
    然後就可以拿去開戰了...9 d3 G; V! H) l6 R) s1 P3 p* o) m
    0 S) K6 y% b% f+ [
    不過這樣做的缺點就是必須在全部完成後才會得到船# R7 h/ [) b) m' Y% P1 x
    例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0
    8 {/ P: {# ]) Z5 ~, ?6 M如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

    參與人數 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 06:32 , Processed in 0.018632 second(s), 9 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

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