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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 245

魔法值:14324 / 14324

生命值:5%

升級   100%

  • TA的每日心情
    慵懶
    21 小時前
  • 簽到天數: 5762 天

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:
    ) C& W& j, Y5 Z0 I全新的伺服器軟體與環境正式啟用
    ' W0 ?: `# z" T7 l  G1 K這大大的減少的伺服器的負擔' S# x  k( `8 c, D5 x2 _
    因此建造延遲時間由100微秒
    . C  Y7 M/ h. z: }6 p縮短為25微秒。
    / r+ Z7 o  `" ]1 H- g2 @: p----------------------------------------6 ]+ i* I6 F6 y  v3 M" V# S
    12月23日更新:
    1 r: a( D. f2 S- X& S, [站長建議各位每隔10秒鐘後再按另一次建造按鈕
    % W7 i" @; P9 F- f* N: R這樣會為伺服器的負擔減輕不少
    . v/ R  c0 R7 v4 y3 ^, `而各位的帳號或星球也不會出現空白畫面的超時情形。0 y& t; D5 p9 \
    P.S也就是說輸入1000W按建造
    , R9 h5 t' H4 s之後等個10秒
    9 ]9 \- u, V# M* D% ]4 P2 A然後再輸入1000W再按建造....以此類推。
    ! y% E( ^* x* J% b7 i----------------------------------------
    1 h+ T. X" q3 S9 U" i12月22日更新:2 s7 p7 `- G& Z$ x( N
    以下的情況只針對同時間裡
    % U+ m4 e& r& x0 R. ^* w只有一個人在造船或防禦7 Z( Y& U! b' h( X' G$ h% ?6 j
    才有明顯的改善
    - K+ E( o1 o# e6 [但同時間裡且同時有
    6 W6 P" A6 P: P/ X4 C6 m多位玩家連續造船或防禦
    8 n/ `; ?7 J; o那麼伺服器的CPU使用率# I7 Z# w1 k- Q% T7 j* p- Y
    又會跟以前一樣是100%
    * P/ I! t6 T2 @; k3 v9 n8 a只有改善一點點
    - m# r' T9 \! e& b* ]! ~2 {/ z, |' b於是站長又將建造延遲時間
    0 K# P( Y- x+ V* ^: e/ ]- K6 F5 k改為50微秒了* o0 H3 `3 j% _
    現在每建造1000W的船艦或防禦要花8分鐘左右的時間
    " i1 G: I6 z" }* q& p' t雖然建造時間多了不少
    0 R) n4 M. M% u: f6 `但伺服器的負載量大幅度的減少了. e" A. ], F  M7 B+ h
    且總比死當不能訪問要來得好多了吧?
    & _* H7 t% t. n5 u--------------------% d2 H  G2 y8 S$ B2 e5 R# O
    各位玩家們有福囉~
    7 C1 ?, W' [3 L, F; p& l/ {, l  V即日起可以不必再忍受
    9 [1 E' ]6 A4 @2 n2 {7 ?% S建造數量只有1W以及
    4 |& J. I5 r+ A  X. t還要請GM幫忙代造的痛苦了) q* z' Q  s& R1 M: s9 }
    經過站長1天的思考與研究後# q/ g7 a6 y7 V
    終於發現是什麼原因- G) b8 g6 Z9 M  i0 N
    讓遊戲在造船或防禦的時候
    & e6 p7 S' h# `0 B2 I讓伺服器死當或者很卡的罪魁禍首了
    ! G/ g  ^( H9 E: X) N! F) e1 Z並不是因為伺服器規格與配備不好所導致

    7 U7 G# T: L( L: g$ i& f真正原因是因為每建造一艘船艦或一門防禦/ A) `4 M6 z" j; @: h% `/ F9 I
    中間沒有讓伺服器冷卻的間隔時間
    1 R% {3 B8 k0 h: ]4 p+ _所以才導致伺服器在沒有冷卻間隔時間的情況下) X, v0 X- w& X4 {
    無法瞬間處理大量的SQL指令與數據
    . @+ g: D2 P0 l6 z: F. o7 R所以才導致伺服器出現了死當與很卡的情形發生

    % r) Y1 H5 D% {- H/ w現在站長將每建造一艘船艦或一門防禦的
    $ D7 z% `+ |4 H. y; H冷卻間隔時間由原本的無冷卻間隔時間  h! q$ Q7 c( w: g/ W( F; k; [6 J
    改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦
    + |5 V4 N9 J( _1 m5 F' d1 g
    而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    : G* ^# |  b/ w, Z7 b5 {) {現在每建造1000W的船艦或防禦只需花9秒鐘/ J; x) n( q& |
    P.S建造2000W的船艦或防禦要花18秒鐘
    . \+ M: C$ T* \建造3000W的船艦或防禦要花27秒鐘.....以此類推.....2 e9 O# Y! l/ @4 u
    對各位來說應該不算太過份吧?
    $ F  i0 T- @3 ^2 |
    在還沒修復此bug之前
    : H4 T2 j8 a# G# d2 H; \0 [' {建造1000W的船艦或防禦只需花0秒鐘0 u  e- j8 X1 G4 J' Q4 ?
    瞬間建造好,不用等
    7 {6 w) T( [% I( o0 J但是給伺服器的壓力太沉重了7 g1 y3 b: G5 ~- {( L% m/ c
    寧願稍等幾秒鐘的時間
    & w9 E% R4 M8 o* U3 ?$ c# s3 t9 ^也不要讓伺服器的壓力過大  {% ]$ s4 O+ q3 y0 d9 G5 O
    而導致伺服器死當或者很卡
    + ]  j$ j7 k/ W1 N% U. q7 w3 m各位說是不是?
      [$ u) z8 u6 B' I3 A$ k

    4 E/ P9 h' k4 g; X- ?*對本帖如有問題的玩家
    ( X/ N, _: c2 _3 H, p* L2 V+ V+ \或會員們請回帖提出* A9 K# ]9 U0 G: R! C% G
    站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 9899

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 8711

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大" g3 y3 z$ I0 ]% x4 h' D
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:11640 / 11640

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣, x8 f) K* T5 g! W; E) B
    不過我認為3 h/ |# N9 ?5 f4 P/ v, b3 u
    更改遊戲造船及防禦的方式才是解決問題的治本方法+ P% ?& o) C5 `. g) v! X& t
    # j, y0 T8 h9 t/ S, }( F9 `) Y
    例如要造1000W回收船
    # E6 W4 J+ G( o  b* w根據a大的描述
    # X7 l% D2 c- s大概是造一艘便要一個sql請求
    9 I3 U; \% `: w5 n3 T
    6 m9 U5 J& U; n$ T* q+ rquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    7 w1 i0 H3 x8 W$ n6 p) Z$ j3 `query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    * m6 l: G0 Q0 i2 ?9 Yquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    / ]! P, v( [9 O, t  t1 M, z6 X  g...... (略9999996條), T3 A' |) n- y: b- S) G
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ( d: d/ T; V) O% I7 c0 @$ m
    ; u. [4 @$ p, ]  c, @" J這様造一次
    - Y! u( a8 g( E6 R* ^sql請求比運作一個月的無插件discuz論壇還多
    9 @" a: c  U7 p當然就是虛耗資源
    1 {5 d2 H, j2 q& P' u
    6 ?# {9 Z/ o" z8 `+ d8 P但如果改成一個sql請求完成全部建造
    9 f9 Z. O$ x( }0 ?) b  i不但建造得更有效率
    9 V2 k! S: l% l" P! a* y造一次對伺服器資源使用也是近乎0
    4 D; E! {: |/ f! g% g  ^3 ^4 c) ]; E8 h5 E- Z  Q6 s
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    * [) D' N% Y6 i) ]2 q
    ! \1 S, N3 f0 S8 i' F& l0 K# g當然這只是基本概念
    # W( v- X( L/ `( u# e要進行修改也有一定難度1 A% W: P4 m4 f# X  K) f& B
    因為這只考慮到建造時間=0時的情況
      D& X4 A* K3 w4 {5 h# p0 Y/ c* r  G# s如果建造時間>0+ P" @9 A5 x6 B+ ^+ z5 `% i- F
    就要考慮頁面動態更新之類的一大堆問題, M* k) L, R* [% C, U4 V
    只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 4004

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........' D/ I7 b4 v' P5 M- L. Q( v7 X0 C
    我囧了
    0 @9 {; R$ w' ^' }; ]" @; H建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    ; L0 @, `+ r  \2 K1 Q; w0 u6 s5 b
    之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 245

    魔法值:14324 / 14324

    生命值:5%

    升級   100%

  • TA的每日心情
    慵懶
    21 小時前
  • 簽到天數: 5762 天

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
    % L9 d5 c  K7 c; h0 o  _. }* ~不過我認為
    + u) t: K4 [4 ]$ o更改遊戲造船及防禦的方式才是解決問題的治本方法
    * {- ]$ i( L, a+ y' z4 Y; K. {& _3 Y+ s
    例如要造1000W回收船3 P. |; ~- E: F: D4 M) Z
    根據a大的描述
    : E) X. @# u1 w大概是造一艘便要一個sql請求
    4 r6 c2 p% b! q0 U+ z6 w: D9 w- u  a1 P7 K
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000; M. Z0 @( A6 \2 S5 E
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    - p7 [4 T$ o, P) I2 T9 W6 p, kquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ( W4 e( Q$ b8 z. @- c...... (略9999996條)3 b2 G: t0 w& M! w7 s
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000, B$ P/ h3 T% A, |

    8 f% M2 [- \* u- g5 C2 o8 p8 T這様造一次
    / e; \  J8 h6 c7 h  a; Usql請求比運作一個月的無插件discuz論壇還多
    4 K0 P$ b' L5 p, Z8 H. ]當然就是虛耗資源& J/ @1 L4 u* G8 e) `+ X& L+ K. f# N: T

    - G+ o2 ?7 h5 g8 u* c9 c$ c. U6 L但如果改成一個sql請求完成全部建造+ K9 E. o! W& ?  M* g- V1 O
    不但建造得更有效率
    # C8 U1 s) C; G0 q3 H' z0 D0 i造一次對伺服器資源使用也是近乎0
    1 }3 u/ ^. m9 g

    9 ?) \& p: w5 Q5 f0 Bquery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000. y3 y3 D% N6 ]* ^
    : X: C  d, }1 F; ]9 t- ^. F9 _
    當然這只是基本概念/ H6 i9 @! M4 T& ]8 p3 O
    要進行修改也有一定難度
    + a# Y# O$ Y7 g# N" l) U
    因為這只考慮到建造時間=0時的情況7 i& d4 M5 X) ~+ |: u1 s
    如果建造時間>01 o3 H8 P9 T9 C# ?/ ?! q
    就要考慮頁面動態更新之類的一大堆問題2 s. M, j  L, l' j6 R. }8 P
    只好希望未來的3.0版會作出改善( }8 f0 O) \& S. e. o
    b1984207 發表於 2010-12-20 09:17 PM

    $ h  O7 p. n+ v我在遊戲後臺幫玩家代造船艦或防禦的時候+ v% Y+ `9 m7 q* P
    就是像你說的這個概念' r! ^6 C1 k  q5 _3 Q/ l
    只要一個SQL請求便可完成全部的代造# `0 y( V7 O  K; p: R
    但是要改成只需一個sql請求完成全部建造
    ; o# W, D8 \! @: i5 |" W的難度性很大且很高& o, Y# ^0 |( m$ [
    而且有幾個源碼檔案裡的一些代碼
    : ?! b# x: n9 c. z! F% T; O; W可能甚至要全部改寫) d$ A9 h% M# y, x! Y
    所花費的精力跟技術與時間不少
    . h9 A& l! W& ^/ p# E不過能找出原因與臨時解決方法
    8 j$ x9 J0 n8 ]3 E  c已經算不錯了
    2 q  o- J% X/ b2 ]% X真正治本方法還是交給
    3 Q- f! \* |0 ~2 H& e$ \# }2 K5 Q全新的3.0版專業開發團隊3 U5 w4 r/ F4 Z/ M# w  U8 L
    來做處理吧
    " V1 W4 L! q$ u# Y: J但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6616

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??6 P! W1 U7 x) ^, T- z9 e
    ((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5128

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    . U; d, H& E+ d. s) \不過我認為
    * b! i5 }" P* b6 r$ r更改遊戲造船及防禦的方式才是解決問題的治本方法; y) @# ?5 w- C
    % E7 ?* b+ _0 d& H
    例如要造1000W回收船
    ( Z, A2 p9 u7 B% B9 o# Z- ` ...; @( v- i% q( {/ I, s$ E
    b1984207 發表於 2010-12-20 09:17 PM
    / l. ~1 X# p" d9 A
    你是不是想這樣- k. k3 V2 e' A7 L  a. [
    假設用戶輸入傎為a" O" @" y) k- ?0 \% e- I
    假設一隻回收船要一秒# ?1 K; ?: R  `# @, U8 M
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:11640 / 11640

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯
    " r/ k) c8 z5 w, d
    你是不是想這樣
    # V; v- v) i( k假設用戶輸入傎為a
    ' @* s/ D; c, Q假設一隻回收船要一秒" {3 c) G% ?- H- e
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...
    ) y* c; {0 v  J$ A4 b% u2 D  ?qweasdz 發表於 2010-12-20 10:11 PM

    % r' R) l! I0 h- [6 |' z3 Y+ A3 Y  f2 S$ L9 I: R) M
    也差不多吧/ \( J. p4 i* C1 T
    我的概念是這樣) o( t  g6 w' w+ H/ O6 a9 t- u: a

    * q+ a, E( ~5 \完成的時間 = 現在時間 + (造船數量*每隻製造時間)
    0 \8 F4 M6 Q6 C3 o: W$ U  ~0 ~$ D) t7 g
    sql query 就這樣... (不肯定格式對不對)$ k; `! c% Y8 k2 L. j
    INSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)+ f6 [% p% F( v, e- v
      F) @( I4 _- v/ T9 F
    然後就像你那樣減去所用資源
    1 h  x3 m1 o' |. Q/ f# T' V. a% U5 I: M. ]
    之後在進入造船頁面時
    ; Y5 M' W, w3 ?由資料表拿回資料0 p/ z$ ^7 Q8 y; L# f
    計算餘下時間1 ^, C* }! U7 R* f* R! x. m
    未完成的話就透過javascript進行頁面動態更新餘下時間9 A6 f+ j" ]% Q! f5 f
    直至完成
    3 Z, `: p: P+ D) d* t' H完成後就在艦隊加上造好的船
    6 @8 [' G( i+ J! C9 `! x5 ?8 T然後就可以拿去開戰了...
    + y$ _3 E' H8 i+ c" |% [4 A* a' ~( s& N9 S+ F& A% W0 J1 G
    不過這樣做的缺點就是必須在全部完成後才會得到船
    7 p  h( d, _" ?+ Z/ `例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在09 k6 v8 A( y+ [
    如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3224

    生命值: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, 2025-11-9 22:29 , Processed in 0.025325 second(s), 9 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

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