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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 246

魔法值:14787 / 14787

生命值:6%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:5 k+ u5 B' F' [9 H
    全新的伺服器軟體與環境正式啟用6 `- t2 ~- T  Q0 e# |
    這大大的減少的伺服器的負擔
    # N( o, Y# z3 e4 s; f因此建造延遲時間由100微秒' d8 G% y5 q2 n- E, H: ]
    縮短為25微秒。6 x4 Y6 a4 c+ E7 Y
    ----------------------------------------
    ; e$ A* q, ~: a12月23日更新:
    * x/ L! V( T; I" ]站長建議各位每隔10秒鐘後再按另一次建造按鈕" M3 [6 z+ S8 J% T$ {& L
    這樣會為伺服器的負擔減輕不少% j$ p; U0 y9 [6 j' r9 o. Q
    而各位的帳號或星球也不會出現空白畫面的超時情形。
    + j5 y0 o5 X- l' m+ q% k; q2 fP.S也就是說輸入1000W按建造
    * x9 r0 A2 ?0 @1 s7 @$ M之後等個10秒
    ! x1 L' G! E0 s: c% r! N  X. z4 W然後再輸入1000W再按建造....以此類推。: h' m. C) g6 ]
    ----------------------------------------6 }, ^0 G: l. u% s5 d; N6 i6 V& J& c7 V
    12月22日更新:( @$ l9 C! z6 N( F8 \; O& b
    以下的情況只針對同時間裡3 M" G0 S- B* i% v4 P1 R
    只有一個人在造船或防禦: C6 }# d6 w7 b. x
    才有明顯的改善
    9 O' y# D0 j5 F+ _& L- F但同時間裡且同時有. i! d5 d- _2 \% y7 w9 \
    多位玩家連續造船或防禦
    & \% G0 i4 N7 g, D' \4 i那麼伺服器的CPU使用率
    ! U8 d& _: e! ]9 w又會跟以前一樣是100%
    * I1 q% ~; z: l5 M' Z+ \1 e8 i" m只有改善一點點, X1 v7 s" E0 Z/ G3 z4 r5 N" Y
    於是站長又將建造延遲時間
    1 v2 ?3 h7 T$ {  z改為50微秒了
    0 t% U4 K1 b% b3 l' d現在每建造1000W的船艦或防禦要花8分鐘左右的時間
    3 S& `) {7 {  L9 h8 h雖然建造時間多了不少
    ( s. D  D; d' ]: b$ v6 Y但伺服器的負載量大幅度的減少了
    4 n. }0 R- R) h# a) O: d0 u且總比死當不能訪問要來得好多了吧?
    5 F2 |) p# [9 ]--------------------
    ! {) S2 ?4 w  e: ]; ?各位玩家們有福囉~2 h. A( _* l' W( g2 g6 z7 W' x
    即日起可以不必再忍受
    ; R! j9 C0 m5 X& H! F  t* C建造數量只有1W以及
    2 C; s5 ~# q' S還要請GM幫忙代造的痛苦了
    8 {' ]* s5 _) Y) k' |/ c0 P經過站長1天的思考與研究後0 g5 B4 ?0 I  V3 x) F+ ^* j
    終於發現是什麼原因
    % {* `* S* p# {- p7 I* l$ e讓遊戲在造船或防禦的時候0 R3 \2 @' Z- d. X* h
    讓伺服器死當或者很卡的罪魁禍首了
    . m5 R$ \0 b) z. f並不是因為伺服器規格與配備不好所導致

    % J4 x  x0 e3 W) s, B8 P' f$ M真正原因是因為每建造一艘船艦或一門防禦/ z6 e" U/ Y+ s% g# i
    中間沒有讓伺服器冷卻的間隔時間. a5 z# ?5 d& X
    所以才導致伺服器在沒有冷卻間隔時間的情況下* P4 Y8 f! O# J; P, Q' _
    無法瞬間處理大量的SQL指令與數據
    ' q% q& W3 h* C7 O! Q所以才導致伺服器出現了死當與很卡的情形發生
    0 u3 ]1 \+ e; }8 B7 x
    現在站長將每建造一艘船艦或一門防禦的
    " w, p; B" j2 g3 m冷卻間隔時間由原本的無冷卻間隔時間; H, n/ z% q0 V; m! l4 V
    改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦
    9 M: J$ s; Q4 G3 g& A
    而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    , p6 Y# m$ g' `0 q現在每建造1000W的船艦或防禦只需花9秒鐘
    ! l0 ]' e. Q" F! ?P.S建造2000W的船艦或防禦要花18秒鐘5 [: {; w2 Q# t1 ~
    建造3000W的船艦或防禦要花27秒鐘.....以此類推.....' J. B8 H5 D2 S6 e) t  j6 v
    對各位來說應該不算太過份吧?
    & c7 y3 q6 a) ~) F+ `7 l# d
    在還沒修復此bug之前
      I  e  E0 N# U( R, @5 `* n建造1000W的船艦或防禦只需花0秒鐘
    8 q, ^& a2 s( }/ Q3 P0 i瞬間建造好,不用等% n! q4 a# s. o& u7 L  I& H
    但是給伺服器的壓力太沉重了; Z, I+ F2 j- e
    寧願稍等幾秒鐘的時間+ ?/ c! J5 z9 k7 Q% i. k( K
    也不要讓伺服器的壓力過大& ?8 g" j; I/ V* \7 I
    而導致伺服器死當或者很卡5 e3 O" Q& x# V
    各位說是不是?
    2 D& C) {% D0 i

    . x1 [8 R( O- N/ D7 L*對本帖如有問題的玩家" M) l' Z  @* q  j
    或會員們請回帖提出. m9 R$ Q' [; S( U/ |" q( ]* k
    站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 10201

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 8974

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大
    $ t% l' Y4 h6 A! j辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12015 / 12015

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣  x% i/ Z! t5 [& R0 T9 g: T: ?
    不過我認為  F% K! t& y3 t( W' X
    更改遊戲造船及防禦的方式才是解決問題的治本方法5 y( d  H' m8 F5 F' a6 f

    : L/ p+ `3 M$ z# }; u例如要造1000W回收船
    , j. d$ {  w: i9 x) I" ^根據a大的描述/ H7 S. ~4 C/ G$ v9 }
    大概是造一艘便要一個sql請求
    , K* Y4 B9 j( P! F5 E
    8 Z  t+ D7 c- q  r0 J! O4 T% }query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ) z. I6 o  R6 F' U2 Bquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20005 S6 r2 ~( g# Z1 A
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    + `& f; E6 d/ [  q+ Q. M...... (略9999996條)" V  ^: d& i) J) B( I: Y
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ) c  }+ z  p# Y, m+ G
    3 w+ @. d3 W! }# [8 b這様造一次
    5 |1 ]% }+ W- Y; y; S, lsql請求比運作一個月的無插件discuz論壇還多2 `3 w1 c0 U' c6 m& K$ W; K
    當然就是虛耗資源
    & L$ u: D! m2 p5 A1 q: W
    3 s- E4 b0 V& w  P9 K5 Y, q但如果改成一個sql請求完成全部建造
    , j' v  M; R- f/ N6 B% D不但建造得更有效率5 K2 S( p) k1 |3 Z# _
    造一次對伺服器資源使用也是近乎0
    6 ~7 }/ m2 K8 U9 W4 ^  T6 X% j9 p( s% t
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000. x+ R. {$ L" z. U9 q' r

    - M+ c" C% l: T$ B! z0 k當然這只是基本概念
    ) i4 |8 D6 F# O9 r8 e要進行修改也有一定難度
    # N! u4 X- K- Q! w因為這只考慮到建造時間=0時的情況1 R; S; j4 e: N3 i
    如果建造時間>0! L. s% ]/ n( X* C$ E
    就要考慮頁面動態更新之類的一大堆問題
    5 Z& a0 T0 o; r8 M只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 4134

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........
    , D1 M1 J; V& y4 l: s$ i我囧了2 F/ q1 @* b- I& K- Y+ y8 \
    建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    : C9 A: W$ o- u" y+ r3 w
    / b% n/ x  H$ `2 t% D之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 246

    魔法值:14787 / 14787

    生命值:6%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
    1 j4 ^# y5 F- D, k( K: N不過我認為! |  O" K. H  V# k
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    : j+ u0 A# ]" w. y
    * B4 M  b. [7 `9 j/ r& c; }例如要造1000W回收船% P$ ^: c* \" G+ [4 `2 Q
    根據a大的描述. e8 g! I: Q& G* w0 I* r& e
    大概是造一艘便要一個sql請求
      Y6 I0 a5 R* w+ u: J( I7 ~
    5 W& c, G$ b% s( Y% B. ]query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    $ H! w( U# S% }& m2 equery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000; Q5 \& s2 b& O- d4 y! F9 D
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    4 Q+ L7 X. f/ H4 \6 N/ y3 |...... (略9999996條)
    & w! z3 M; G* bquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000, _  n. K) g6 p0 F! J+ K

    6 V. J4 w, X+ @5 A& |, d1 C$ V這様造一次
    5 C+ W# P5 N1 \4 q! isql請求比運作一個月的無插件discuz論壇還多0 n4 w' @/ Q7 G
    當然就是虛耗資源
    * {0 }* w6 @' \1 [/ W% Z4 Q* C& |
    ; G6 u* f7 Y3 L但如果改成一個sql請求完成全部建造9 w% s- [" i  |/ I7 `
    不但建造得更有效率
    : N9 n- H0 Z& o- s1 m+ g* @/ H造一次對伺服器資源使用也是近乎0
    . J4 q3 ?: _3 h1 a4 ]9 ~
    2 f# y" ~0 ^" n6 x( e& g. a
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-200000000008 ?+ M$ H  ^" |/ X# e
      _  d* e- u5 s. S1 Y4 f% R, M
    當然這只是基本概念
    2 _, ]& G0 P4 x: @要進行修改也有一定難度

    / j  ?9 l* |4 u4 l( h0 w6 g' F4 h! H因為這只考慮到建造時間=0時的情況' t& i( f1 P. Y6 A
    如果建造時間>0
    - t1 Z% F% }) {# L就要考慮頁面動態更新之類的一大堆問題, o0 U" S' }) i$ |
    只好希望未來的3.0版會作出改善* a2 B4 \+ [( v2 }
    b1984207 發表於 2010-12-20 09:17 PM
    ; X1 M7 P: Y0 D* i) v. h. O. C' ~2 y
    我在遊戲後臺幫玩家代造船艦或防禦的時候
    * K% J" a  J' M. l3 z8 l' u8 F就是像你說的這個概念
    9 l! n7 Z2 C% U* j9 ~' p. j3 g只要一個SQL請求便可完成全部的代造: x+ Y; y* o4 L' D2 b+ ^
    但是要改成只需一個sql請求完成全部建造
    ! l( y1 ?3 c2 Y$ O的難度性很大且很高
    ; R/ _; Z" b0 H6 }4 F. p而且有幾個源碼檔案裡的一些代碼) g" k& S; k3 y. N  N5 G2 X( o- f' ^
    可能甚至要全部改寫2 j7 k  I" I( `, T
    所花費的精力跟技術與時間不少
    " C' ]. b" O2 {( O5 C不過能找出原因與臨時解決方法/ ?  t% B, J3 q! Z3 k# S
    已經算不錯了
    * P6 [8 {+ n/ n3 H7 R! d真正治本方法還是交給
    3 \3 q3 x3 T; {( B3 u全新的3.0版專業開發團隊' _. |# U2 j4 R( W( M4 ?$ W
    來做處理吧
    1 L1 g- r8 R) x) {6 Y6 M但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6825

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??
    " g  O5 ]) j& q: Y((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5291

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    & o1 V4 @  p. s3 d6 q- w不過我認為
    + b% F/ ^% |8 w5 s" l( p: ~更改遊戲造船及防禦的方式才是解決問題的治本方法1 Q! s' [( }% i( d" c5 R% C( K
    " f) E' G% d, B8 f
    例如要造1000W回收船
    0 L1 O: I/ q9 q% G4 y ...
    . Y0 [* ]# Y2 p" g* ~b1984207 發表於 2010-12-20 09:17 PM
    1 p2 z9 J3 K# T' Q
    你是不是想這樣
    1 f7 _( U7 Q+ X4 i: L假設用戶輸入傎為a
    , Z! @1 M$ i' T/ g; \6 E假設一隻回收船要一秒
    7 ~9 f& g8 Z5 m, ~$ jquery : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12015 / 12015

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯
      f1 {6 L2 K5 z1 W3 u
    你是不是想這樣3 Y0 @# C0 S. D) f& E
    假設用戶輸入傎為a7 ~; }% L7 O; g7 k, U
    假設一隻回收船要一秒" U0 Y9 L) [0 @! R: j' d+ @- M
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...: l- R4 D3 ]! f0 w' t
    qweasdz 發表於 2010-12-20 10:11 PM

    5 v8 z' a( x1 N4 L% ]) I- z1 u- V* \2 u' H- \  ^  k+ y3 e2 i
    也差不多吧
    & y+ ~- ?5 O* z! e% W" B我的概念是這樣6 W8 @, v8 Q- m4 m5 i

    ! Z# X* r7 w) {完成的時間 = 現在時間 + (造船數量*每隻製造時間)/ J, f, ]) G% C7 k  x8 s$ O

    8 w& _3 U7 {- o3 j+ K* f9 lsql query 就這樣... (不肯定格式對不對)
    5 t$ C" ^8 I) v% l, j. ^! @8 ]INSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)  m+ b0 f* [6 }2 G6 v
    7 s8 ?4 R( x2 f& B; P9 M4 q
    然後就像你那樣減去所用資源
    ; M! i0 \9 H' f2 t( C% }) \
    / u' Q2 Y" W3 A* |" K& h% u- _之後在進入造船頁面時
    5 y/ S& G2 W6 ~. h9 l4 I由資料表拿回資料
    , z# ?& C$ \# Q+ c' E計算餘下時間7 H( o7 @$ l1 t7 z: U6 J+ y/ F
    未完成的話就透過javascript進行頁面動態更新餘下時間# J& i$ R4 Y, n  D
    直至完成/ n9 K) k' i8 }4 x- U
    完成後就在艦隊加上造好的船
    " M& s. o6 f* i7 f; Z然後就可以拿去開戰了...- o# H( O* s1 \( y% L" b
    ) {5 d3 s( @/ q& J6 x; u0 L
    不過這樣做的缺點就是必須在全部完成後才會得到船1 h2 _8 S. R- M4 L' D7 k7 a
    例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0+ t2 o/ B- s) Q( ~: Y4 F
    如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3328

    生命值: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-5-4 12:57 , Processed in 0.020852 second(s), 9 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

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