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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 246

魔法值:14786 / 14786

生命值:6%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:( R, a: C$ g8 a2 c1 [
    全新的伺服器軟體與環境正式啟用& P3 [: Q/ I% z
    這大大的減少的伺服器的負擔3 Z4 U1 Q" g+ x3 Y8 k
    因此建造延遲時間由100微秒
    1 }0 `5 r1 L$ l. }0 @5 n9 i縮短為25微秒。
    - t% d6 ?) O9 v% ^5 p----------------------------------------
    " [1 r$ `5 O$ o: `- D4 n/ l12月23日更新:
    6 W4 R- S3 E( S% X. O站長建議各位每隔10秒鐘後再按另一次建造按鈕
    8 l4 `; v8 S+ @' g2 q& }8 Q這樣會為伺服器的負擔減輕不少
    , O0 x( W9 c# L而各位的帳號或星球也不會出現空白畫面的超時情形。1 g* p2 u, \, k  {: g
    P.S也就是說輸入1000W按建造
    7 E5 h4 j+ Q% H) K* l- B/ c之後等個10秒, A6 U; o3 R" D5 w" C0 q8 F
    然後再輸入1000W再按建造....以此類推。
    " ?9 K0 y, q( R5 O" W9 U----------------------------------------5 Z' j; N# E2 O- X) y
    12月22日更新:4 Z2 o4 n+ [/ A  D7 V+ v2 n) @
    以下的情況只針對同時間裡, p. b: B! J, P: y
    只有一個人在造船或防禦
    2 S' _( Y6 o: O( j: S& b才有明顯的改善
    2 B, E4 \+ p( N4 ~% M2 b! t但同時間裡且同時有
    ) z8 `* ?( }0 w3 A5 W, p" X多位玩家連續造船或防禦
    6 z2 r  k! M/ Q! |5 A: _6 B( j那麼伺服器的CPU使用率5 ^: \3 W9 V! J& y* h
    又會跟以前一樣是100%. X' g6 T1 i- w
    只有改善一點點0 W, d, F) U" l. {: w, m- c
    於是站長又將建造延遲時間( X" _1 S( ^8 E, I0 V$ y+ Y7 j/ e8 i
    改為50微秒了
    5 `( g% ], C# H5 F- E/ N  B現在每建造1000W的船艦或防禦要花8分鐘左右的時間
    # R2 x: ^, o2 [! c1 a$ s7 i% p雖然建造時間多了不少
    ) _& s& B" k% b; U- I% `但伺服器的負載量大幅度的減少了
    8 {- u" v3 P% q* w# n0 ^' ]- k且總比死當不能訪問要來得好多了吧?
    . X5 b0 G4 \. K. A! e6 O--------------------
    / F# S3 C# b' p" u& U. j$ `7 O各位玩家們有福囉~8 Q% t/ s3 m2 U$ S
    即日起可以不必再忍受
    / c! L$ I2 d1 p4 N& Y  Q建造數量只有1W以及4 ^" E/ q0 u2 \! @4 o* q; b
    還要請GM幫忙代造的痛苦了( H& \: `5 {% D) U) R
    經過站長1天的思考與研究後  X" M1 T( K- Z7 q$ L- b3 b
    終於發現是什麼原因. Q% y  g0 Q0 n- F: L0 f
    讓遊戲在造船或防禦的時候8 T( ~9 i0 _; p- j; H6 o
    讓伺服器死當或者很卡的罪魁禍首了  ^  {+ K+ o9 h  }' }  V
    並不是因為伺服器規格與配備不好所導致
    & L, [2 Z# Y/ S1 E
    真正原因是因為每建造一艘船艦或一門防禦1 B; B- N# Y8 T4 j; h* e1 ]' h
    中間沒有讓伺服器冷卻的間隔時間
    ) G# R& z! r- \所以才導致伺服器在沒有冷卻間隔時間的情況下
    6 T& S. W% k9 G9 \7 p無法瞬間處理大量的SQL指令與數據
    6 {" M+ T  ?$ g0 j1 F% R* o* z, z所以才導致伺服器出現了死當與很卡的情形發生

    ( p2 C8 q* Q0 L$ O現在站長將每建造一艘船艦或一門防禦的! Z6 m2 n' L8 y+ X
    冷卻間隔時間由原本的無冷卻間隔時間
    $ N* a8 w$ n/ M" T& _* D7 y改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦
    + t4 M8 N/ E3 G% V# n
    而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    6 O4 n& j% t$ U, _現在每建造1000W的船艦或防禦只需花9秒鐘
    " F6 ]7 C+ v! k4 ~$ T; oP.S建造2000W的船艦或防禦要花18秒鐘
    8 F; s# y: J3 [/ |9 X8 r建造3000W的船艦或防禦要花27秒鐘.....以此類推.....* g7 A. S* I) j! v* D8 w( x
    對各位來說應該不算太過份吧?

    ( G$ V) L3 n* d; a- E在還沒修復此bug之前! h2 Z8 ~% z, Z& w- t
    建造1000W的船艦或防禦只需花0秒鐘
    8 H% v. l" T& K! F: a瞬間建造好,不用等
    7 i2 H3 `3 N: E3 s但是給伺服器的壓力太沉重了
    # n: `, r( _' E( ?寧願稍等幾秒鐘的時間
    : @4 a; a2 l' v$ ?也不要讓伺服器的壓力過大% k; v1 @6 o. W% M7 F4 m
    而導致伺服器死當或者很卡& y* w2 u0 P  c0 V3 Y# z% I
    各位說是不是?
      W/ K. Z9 \0 `# ^$ p  g

      K" \. Q9 ~) J*對本帖如有問題的玩家6 {! g, H( r% X* }/ L
    或會員們請回帖提出
    ' D8 C$ p% C8 Q3 c5 b站長看到後會盡快做回覆!!

    文章的最近訪客

    等級: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大' B* q+ s( Q( ^: p/ o8 P
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12015 / 12015

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣% A% {& L7 Q. Y+ j
    不過我認為6 N3 r9 B0 C! X3 x
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    : U  z, s! p$ t+ R5 u  O0 t4 \& Z) a2 L
    例如要造1000W回收船+ s' O& Q: Y4 ]  S0 u& N9 b
    根據a大的描述. s2 g$ p- U% `+ B1 c: I
    大概是造一艘便要一個sql請求
    ! q; n! `7 z6 U5 S/ G9 q2 B6 U
    % f( f: c! R- L1 Vquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000) G& Z% ]6 N7 M
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000; e5 I( A2 V1 x6 [5 i; b2 K
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000- k, Y7 ]1 O' x: o0 h& }0 w! @
    ...... (略9999996條). \2 h! I% ]) C; `3 K
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000& C& c1 f( Z, K3 S

    & ?& V$ K6 w( I* s* W  T這様造一次
    + K; M. c, ?1 d& }/ l  M5 K2 Gsql請求比運作一個月的無插件discuz論壇還多
    2 ~$ X" l, `- R9 R# L! t' B當然就是虛耗資源* S$ m" L' K, e/ b

    & R% V+ a" c) I- [9 {3 p( f  b但如果改成一個sql請求完成全部建造
    * N0 p" f$ \# P+ F, t2 [1 Y% c$ R. p不但建造得更有效率# z+ B" n1 J) j
    造一次對伺服器資源使用也是近乎0
    9 z+ j3 Q( S9 ^0 ?- W: R6 O6 l, {* U7 c6 P+ v. a/ h2 s9 T
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    + C0 h+ a3 ?0 ?9 `7 ^% S" A/ m: F. J( u  w
    當然這只是基本概念3 }) t/ r! j' r& b+ n
    要進行修改也有一定難度+ G# D- F+ `  Q' Y. H# Z1 E
    因為這只考慮到建造時間=0時的情況5 {, O# @. F" P. B, e6 E* v1 z: m
    如果建造時間>06 v' B9 H5 b7 R+ S6 \
    就要考慮頁面動態更新之類的一大堆問題2 t  l5 B2 P4 c3 W( n  l
    只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 4133

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船........." {" G" ^8 ~7 Q7 B
    我囧了; L; H1 p1 W' @8 [6 ]
    建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了& }; b" Y  B" o7 y3 h. R

    & w% k/ g& l9 D" G0 n$ Y. Y: R- d/ v之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 246

    魔法值:14786 / 14786

    生命值:6%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
    ) X. ~" w: m# q/ e: x; P0 @; o" ?; s不過我認為# Q: [9 p: l% P/ w& g
    更改遊戲造船及防禦的方式才是解決問題的治本方法3 k8 k6 s% a* c4 Y; `

    " ^0 Z6 |2 c' |& }( I* P2 D例如要造1000W回收船
    " ^- \& G) u+ t6 z% k根據a大的描述
    . c; @- |! {) @+ X* c大概是造一艘便要一個sql請求0 ]9 V1 {; R& z& A. s

    6 o9 ^( ~! g5 Y. oquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000% t7 b: K( c+ O5 Y
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000- D* ?& ?( N! h8 L4 N
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    1 n: i  N0 C* a; f7 n: Q...... (略9999996條)
    2 E" W7 G  D4 l/ j; o8 e  Uquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    , `, o. d8 }2 \- M8 v6 Q. n) t, d+ \6 p, S
    這様造一次) f* I: j3 o$ ]8 i; d5 Y% n" b
    sql請求比運作一個月的無插件discuz論壇還多2 C9 N( b! L% k# e. L) B
    當然就是虛耗資源
    : U% V% ~- @4 q) o' F  w; f# {# {  w  n3 _# d
    但如果改成一個sql請求完成全部建造/ T" j) t5 i: i6 e% x: J
    不但建造得更有效率
    & \( L0 b# [, t7 C! c% a造一次對伺服器資源使用也是近乎0
    / P, ]/ T% ?! t/ e( U5 j8 t' ^
    & G! F3 m/ v$ @( ]- I
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    # I' D' W1 S$ C. o, U7 B4 s7 O( v( r# `
    8 f9 s2 z- I& _* m7 f" u/ _. U當然這只是基本概念( `9 G* [( J- e0 |' o" [/ x& M
    要進行修改也有一定難度
    # B! k( x* G) M& K% ?
    因為這只考慮到建造時間=0時的情況& Z' Z. }4 p0 l$ L4 ^) T$ e
    如果建造時間>02 T2 A; X  }2 X- V! f/ [* L3 o
    就要考慮頁面動態更新之類的一大堆問題
    ( n+ m' j: \# P( V; \; H只好希望未來的3.0版會作出改善1 J; J+ @, M% M+ _( j( Y- @. k
    b1984207 發表於 2010-12-20 09:17 PM
    3 v- X& ^* j6 P9 i& c1 F5 `
    我在遊戲後臺幫玩家代造船艦或防禦的時候8 f/ N& s+ Q6 k, i
    就是像你說的這個概念: n" J% M; ]- c/ [; S' ?
    只要一個SQL請求便可完成全部的代造! b! |  E6 K; a2 E  M/ I
    但是要改成只需一個sql請求完成全部建造5 e+ V5 i% b8 C; ^$ g. ]% e" w. P5 d
    的難度性很大且很高- @) o/ e: t/ r, `' j5 o
    而且有幾個源碼檔案裡的一些代碼7 v- }0 p" F9 k1 V. [
    可能甚至要全部改寫- e5 B& K# b/ r
    所花費的精力跟技術與時間不少' H8 P' G  _) o; C7 Y2 N$ P
    不過能找出原因與臨時解決方法; v$ c/ U# V5 B+ C
    已經算不錯了
    : a; K& \: t. p2 Y3 {真正治本方法還是交給
    # B! o. d& d- z全新的3.0版專業開發團隊
    * {/ P4 o/ h. a8 r來做處理吧
    5 [) q0 v$ E1 \# `0 o7 f但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 | 顯示全部樓層
    那現在還有代造服務嗎??$ ~# H) q: l: q& [' L( i4 Y
    ((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5291

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    3 i8 O5 J, b$ i不過我認為6 c* t3 ]5 U  Z! C3 E. p4 F: P+ n
    更改遊戲造船及防禦的方式才是解決問題的治本方法/ v  N, h, b' i! \
    / ?/ E6 D- J# W
    例如要造1000W回收船
    6 W8 X' e$ I) j/ E1 x5 \# ~ ...
    * {% |$ S  d/ [. w# c! `  R" R" qb1984207 發表於 2010-12-20 09:17 PM
    8 {! I7 P+ C& m  E+ ~  e% X
    你是不是想這樣
    - W) C( S% E* w' k2 I  I' t2 o$ U假設用戶輸入傎為a
    * _: v) K2 O2 b5 T假設一隻回收船要一秒
    $ ]3 Z$ k+ ~9 c, ^. x; Oquery : 回收船+ 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 編輯
    7 p2 l! ~) l* ~$ H+ V1 E' A8 h
    你是不是想這樣
    $ L; ~1 H8 l: }, t. @/ T& r假設用戶輸入傎為a
    $ a7 P7 A* O1 S! s; p$ W假設一隻回收船要一秒( h! ^+ j( ~0 Y- u
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...
    3 l! e+ z& y& O7 y! y" s! }+ Wqweasdz 發表於 2010-12-20 10:11 PM

    2 W  J1 q, d9 ?, d6 Z5 P: |
    " d5 t/ ?3 s4 ~" ?& N, z( F也差不多吧* a, i! A- Y- x
    我的概念是這樣
    5 C3 o2 ~5 W9 {+ U3 A3 t. }, J/ X( t# G
    完成的時間 = 現在時間 + (造船數量*每隻製造時間)
    # y" L8 i* j) [) F7 E& e
    & _7 Q5 y' O6 F# S/ k/ ?sql query 就這樣... (不肯定格式對不對)
    + ]: g4 V) x, P2 I6 H+ ]INSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)$ k* p- E# X; _4 U

    , Z3 {" W" F! L5 d% I  o$ I! {然後就像你那樣減去所用資源9 h# c: ~$ w: N3 j  {, D/ v$ K

    & N  |- S2 ?+ p2 D; a/ Y3 ]" W之後在進入造船頁面時% |0 t0 P9 Y  v7 O% \: {. G% Y6 A5 D# W
    由資料表拿回資料. ]( G: F# N3 r1 v7 E3 U4 k3 G% M
    計算餘下時間
    ( h4 T6 l4 V6 P4 q, O# G未完成的話就透過javascript進行頁面動態更新餘下時間
    % \& h' G3 {' O( p( \直至完成
    0 S) I. x* v; w0 V完成後就在艦隊加上造好的船& _5 V: P* H5 V/ P7 E2 F2 y& l
    然後就可以拿去開戰了...: P8 g+ C4 o/ H& o

    & p$ E6 d# I! _3 D: u' N# d& T9 w不過這樣做的缺點就是必須在全部完成後才會得到船
    9 {+ C1 S/ M  q3 I例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0: n. j' {! e( i' M! X
    如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

    參與人數 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 11:28 , Processed in 0.022318 second(s), 13 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

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