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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 246

魔法值:14981 / 14981

生命值:6%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:
    # o& E8 G- {1 E0 q" L* K全新的伺服器軟體與環境正式啟用
    / Q# L. j- w2 P) i4 o這大大的減少的伺服器的負擔
    % G; L5 C( L" z; h  |( M5 C因此建造延遲時間由100微秒9 P+ i' M+ S+ [* o
    縮短為25微秒。
    3 G2 v7 m8 v, n$ t2 `----------------------------------------
    " D" V6 Q4 k  L1 Q* R- B& y# Z7 t12月23日更新:
    - X& z$ S, b7 v3 Z站長建議各位每隔10秒鐘後再按另一次建造按鈕
    : b4 f, C. k; Z; v& o5 U9 A這樣會為伺服器的負擔減輕不少
    1 j% x; B% R  ?( ~/ j+ u! N而各位的帳號或星球也不會出現空白畫面的超時情形。6 T& h4 N+ ~# W6 o& e; Z( J
    P.S也就是說輸入1000W按建造
    ( \( e6 X" }  S, z: g9 V之後等個10秒1 H& L% }+ d6 w
    然後再輸入1000W再按建造....以此類推。& R: |: l0 Y% i) |0 I6 e% S
    ----------------------------------------
    - Q( _/ b( ^. X; x7 g  f12月22日更新:% u& G0 l# h/ F- R- j6 m
    以下的情況只針對同時間裡. Q. {4 B/ F& _+ A3 w
    只有一個人在造船或防禦: @3 G% B2 R* `
    才有明顯的改善9 n1 Y: E; e6 K( w* y* G9 m# A
    但同時間裡且同時有
    8 c2 j0 P. _' w/ s6 p% }4 S0 p0 B多位玩家連續造船或防禦3 h6 A# t* N6 \0 W& S0 ]7 q
    那麼伺服器的CPU使用率
    3 F: i4 a& S% Y( e又會跟以前一樣是100%  H, N& p1 D* h0 a% ]
    只有改善一點點
    2 u- B2 n: q( C$ w於是站長又將建造延遲時間  I9 |4 L9 g' F& d4 ]
    改為50微秒了* l; [: {3 D" i* k7 G6 J" E
    現在每建造1000W的船艦或防禦要花8分鐘左右的時間
    4 I) V; ]5 g, m% Z. [1 q" l雖然建造時間多了不少+ f+ y5 @) K, g$ `. L! m. g" R
    但伺服器的負載量大幅度的減少了" a5 S7 S* B8 C0 q( }) ]
    且總比死當不能訪問要來得好多了吧?5 |( O: ?7 x# F
    --------------------
    4 c8 F" [5 n" P' k' t' `各位玩家們有福囉~
    8 [0 p4 r, u4 w; i9 X% N. u, o$ \3 U7 O即日起可以不必再忍受
    $ U& u4 M5 z' m4 Z建造數量只有1W以及
    5 m9 [* N3 T2 ^8 D' {& `: _6 A' d還要請GM幫忙代造的痛苦了) S" h5 L- P6 U9 c; u& s+ |
    經過站長1天的思考與研究後
    ; [7 E8 }4 H; m: L, t& f終於發現是什麼原因3 ^. q4 e) C7 w4 _
    讓遊戲在造船或防禦的時候
    * H& g; Z* q) \# j讓伺服器死當或者很卡的罪魁禍首了
    ' e0 {4 k" `% i0 T; d2 r5 R! v並不是因為伺服器規格與配備不好所導致

    + g' K0 T- I" z: h9 ^真正原因是因為每建造一艘船艦或一門防禦
    - G8 ~$ X* w$ d1 R& f中間沒有讓伺服器冷卻的間隔時間1 W0 r6 M# L/ q4 \% E. p
    所以才導致伺服器在沒有冷卻間隔時間的情況下  P3 p. m" ~+ \# z+ f) ~$ i6 N' c
    無法瞬間處理大量的SQL指令與數據' L* f7 H. o3 a# m1 j
    所以才導致伺服器出現了死當與很卡的情形發生
    ; h% D, Z  l( s/ V" f. a4 u! s5 q
    現在站長將每建造一艘船艦或一門防禦的
    & y" I5 G* P% L' _# U$ q7 `冷卻間隔時間由原本的無冷卻間隔時間
    0 \+ |3 n- w/ G$ o: j# r改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦

    ) F& |5 B" \2 N而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了1 r5 c4 W( q# l( \# I; Q
    現在每建造1000W的船艦或防禦只需花9秒鐘
    : \8 }5 G: T: q. TP.S建造2000W的船艦或防禦要花18秒鐘
    0 o  Q/ J) v% I" l6 j; s* s0 D建造3000W的船艦或防禦要花27秒鐘.....以此類推.....$ E/ k% ?  E* u
    對各位來說應該不算太過份吧?
    - u  w/ ~4 U, L2 R4 x6 ~
    在還沒修復此bug之前
    & }0 @/ K/ R! m  C4 ]  N8 X$ r建造1000W的船艦或防禦只需花0秒鐘" i. O. k, @& e/ T1 k9 r! b
    瞬間建造好,不用等/ N2 o0 q5 f# u9 u& P
    但是給伺服器的壓力太沉重了* l1 z' _' j) Y3 F2 @! ?6 A
    寧願稍等幾秒鐘的時間
    ( J; E- U7 t4 x1 Y4 S  y6 J6 e也不要讓伺服器的壓力過大' m( g, U! j+ Q+ M9 g* F
    而導致伺服器死當或者很卡
    % v7 p/ p+ I" ~5 m4 ^( j各位說是不是?
    + q1 @" ]0 ]& b" @$ p8 Z

    5 ]& n1 M# t1 b! N: A3 ~*對本帖如有問題的玩家
    , C# a8 `& V. P或會員們請回帖提出" R- l3 ]+ M- \% q) I5 F$ b0 }$ u+ \4 p
    站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 10327

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 9084

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大* p# X# t' _5 Q: Q1 J1 u7 G
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12172 / 12172

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣
    : v, A. H/ D! V7 b: i& p! B不過我認為$ P4 v$ b9 r3 n
    更改遊戲造船及防禦的方式才是解決問題的治本方法
      t3 l7 ]& s, _0 k; t. K! g- H3 E
    例如要造1000W回收船
    # z4 ?6 D  q4 Z1 V  B根據a大的描述0 u1 u" x! u8 t- Y& W
    大概是造一艘便要一個sql請求3 m) k3 E$ l! z9 p8 K6 b

    ' z! ^4 Y6 d0 G8 @query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ' U& A; M% e+ @; \8 _$ tquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000( X7 P! A5 e; A5 w) O
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    / q, M& E: w4 _* G/ {( J...... (略9999996條)0 Z# R" ?0 ]" A  R
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    8 \: j( I. R% |+ X7 R& N4 R  ]( `
    這様造一次
    : Y: F- [! X) lsql請求比運作一個月的無插件discuz論壇還多
    0 ~9 _, g. k: [0 z5 b6 X當然就是虛耗資源  p( {. }$ R0 F
    8 ~- A! i; T6 o! L
    但如果改成一個sql請求完成全部建造
    5 {( J. P& R: p) ^1 K! |; |不但建造得更有效率5 ]% e4 y; R- m
    造一次對伺服器資源使用也是近乎0* w6 H7 {7 e, @) c3 k

    $ L5 m& |. Y0 ~; C# P9 Z# N+ I/ Equery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    3 n" h; c+ ~; r9 D
    : s0 e6 j8 O( o" e! t5 N當然這只是基本概念
    8 T; ]1 m5 d: Q2 i要進行修改也有一定難度
    7 C3 y# X- A' K& I2 J% p因為這只考慮到建造時間=0時的情況9 Z: u) p1 x: M: ^, n/ r6 Z
    如果建造時間>0+ M- _+ L( j/ J
    就要考慮頁面動態更新之類的一大堆問題! a* Z1 L* i! o
    只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 4188

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........
    8 S3 v" k, n' m: H8 U6 T我囧了% m7 D/ |. U/ l( Y1 x5 I+ {% ^
    建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    ' C* D( M3 I3 ?6 N: @( S& ^
    2 R! }' C9 D0 P" r之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 246

    魔法值:14981 / 14981

    生命值:6%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
    # n5 A7 H* z9 F2 ~+ v7 J( r不過我認為# G9 O! z+ P9 b/ B% d6 L
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    ) ~, U% E' P/ j, o7 {6 w6 A- ]' }8 c  N$ R) S9 O
    例如要造1000W回收船- \8 f1 z2 z7 K$ ~- I' i) x; d
    根據a大的描述
    ! C0 J6 U# w' |* i' n& Y7 `大概是造一艘便要一個sql請求
    ! y+ _9 Y3 {' }. k4 s6 k& Y# }/ \7 z: G
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    1 A# ]% {) `5 L  {- _6 [query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ( c& a- B# i9 w5 Z2 z' Y+ v2 d8 @2 iquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    % V  [; }! V% o" V...... (略9999996條)9 ~: C, |& p7 s/ S( {1 h) d3 P0 }
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000' K1 k/ ^2 z% P7 J! |7 {
    + m! D+ f. L- t8 t# K0 N
    這様造一次* q1 @" Q( C( n4 {' ]$ l% a- e% p
    sql請求比運作一個月的無插件discuz論壇還多2 B) {+ r. N5 y; G
    當然就是虛耗資源
    7 y0 i3 j6 ~$ Z" |. _8 z$ v7 }3 I; w" m! l
    但如果改成一個sql請求完成全部建造1 M3 a& j/ y' o4 c; C3 m3 _
    不但建造得更有效率: s1 R2 x- w. U- V8 {$ a; |( X/ |* M+ |
    造一次對伺服器資源使用也是近乎0
    6 }# D4 K& A3 I4 F# `) c3 Z/ C
    ; Z! [. X# O4 {( P. k) c
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    1 U, R/ V4 a% @. R, x# F
    - S  {. k/ H" l3 N& u# N當然這只是基本概念' r9 ?* {/ O- r- O. s- x" S5 I
    要進行修改也有一定難度

    ) F4 x6 d7 c# B. [5 n因為這只考慮到建造時間=0時的情況
    ! M7 \' ^: |4 p. M; [$ {* F8 k如果建造時間>09 ?# s* N( B# M) J
    就要考慮頁面動態更新之類的一大堆問題
    5 o# a" r# y6 A- P只好希望未來的3.0版會作出改善
    " b% x: M- T+ s; C4 x. Zb1984207 發表於 2010-12-20 09:17 PM

    8 Q! C; ~7 t7 s2 ?/ q我在遊戲後臺幫玩家代造船艦或防禦的時候
    $ m6 W0 D* U3 H3 Z" t2 ^就是像你說的這個概念, u5 p0 R7 D1 r6 P
    只要一個SQL請求便可完成全部的代造& ~' C" \$ G) F" K0 H) [8 K, D
    但是要改成只需一個sql請求完成全部建造
    , F2 A* d2 M* ^( H的難度性很大且很高
    0 f$ t# O1 c; j5 H) S+ z, Z而且有幾個源碼檔案裡的一些代碼
    . L$ K5 G* S5 x  K$ v可能甚至要全部改寫
    & u$ \! d* j5 x所花費的精力跟技術與時間不少
    4 Z+ B/ A3 M: K  ~+ P6 e不過能找出原因與臨時解決方法  `- U: l: K  O
    已經算不錯了
    ' q/ _- R, `# f" l- M' n真正治本方法還是交給
    8 R7 D; @, H, b全新的3.0版專業開發團隊  T2 ]/ c5 p$ ^3 e. R" W. X
    來做處理吧
    6 ]2 z5 O# y0 f; D- q% }但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6913

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??
    . e% Z; c! L( A((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5359

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣* p' c: m+ n* U& [
    不過我認為. O* H- _9 ^( i) s/ @2 E
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    ( |  i) m9 o5 W5 L1 l5 y) o( x* q+ F! k/ J3 x' x; M8 F
    例如要造1000W回收船- m( E2 b! ~& f& n5 q1 O' X
    ...
    , M+ o* x8 I9 ]. O8 m9 gb1984207 發表於 2010-12-20 09:17 PM

    9 I5 H9 i8 X. w1 Y你是不是想這樣" R# O1 m7 w; Q3 n: e" Z
    假設用戶輸入傎為a
    / c- X0 P5 O0 i4 ^假設一隻回收船要一秒# h  o6 \# m" Y, a/ G- E4 S
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12172 / 12172

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯 6 i5 Q* d0 Z. S
    你是不是想這樣
    : ^  r* E( r' h" ?$ i+ b/ h$ W' N假設用戶輸入傎為a
    3 C! ]+ t( _4 Q, [6 @  S( K假設一隻回收船要一秒- c3 k9 G% }" |+ @9 {) u' ~9 f
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...
    - I" o) m4 b. gqweasdz 發表於 2010-12-20 10:11 PM

    8 N: e, d8 O! ?+ y4 `
    ; h% F& M" l. U+ i, o% D( ~- C! K也差不多吧
    : ^) O. b. }! R' Z. T* E6 }8 M我的概念是這樣! X/ ^# d' V# ^+ L/ C; X9 e9 C

    : N# y6 y  _, c完成的時間 = 現在時間 + (造船數量*每隻製造時間)/ w6 o$ \( [  V3 ]& b

    % Q/ I1 T+ w, u) Jsql query 就這樣... (不肯定格式對不對)' A0 A2 U5 k5 |7 o+ E/ d! K
    INSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)1 r2 s) H+ a6 F- c) y0 N# S

    5 q& @3 [  i7 t- l, N然後就像你那樣減去所用資源
    1 K& o2 |9 T* Y  K+ t# B* V4 `$ z' `2 a7 c$ G6 J$ v% D
    之後在進入造船頁面時
    / _, V7 |* p5 w" n4 D3 c7 A$ ^8 z由資料表拿回資料
    ; m0 M- G3 h6 x8 s計算餘下時間
    . P! X" ?  L  r& H; L8 M未完成的話就透過javascript進行頁面動態更新餘下時間
      C0 F; K9 \3 g* H$ H% U, ]2 R直至完成
    ' m% E5 G' Q1 x1 N完成後就在艦隊加上造好的船
    0 e& Y$ K! D* m: m9 {然後就可以拿去開戰了...
    1 i& m; r6 Y  c
    $ \7 R0 `3 }6 k1 X, j- s) a; \4 {不過這樣做的缺點就是必須在全部完成後才會得到船
    ' c7 z: E' \8 U. }例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0
    % N# e- c2 B6 F$ r6 N如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3372

    生命值: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-7-17 03:11 , Processed in 0.013564 second(s), 10 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

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