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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 245

魔法值:13563 / 13563

生命值:5%

升級   100%

  • TA的每日心情
    無聊
    5 小時前
  • 簽到天數: 5489 天

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:- \: n# s: u5 q( L
    全新的伺服器軟體與環境正式啟用: [( M; g. C% L5 ^
    這大大的減少的伺服器的負擔
    2 c. u  f3 `  v* ^+ x1 F因此建造延遲時間由100微秒3 [; Z7 B% Q0 Q
    縮短為25微秒。/ J! F0 p2 K* l9 b4 ]# z. d
    ----------------------------------------8 F% Q8 Q8 t( K7 y/ @- F5 ~
    12月23日更新:6 _* U) L+ S3 N$ W
    站長建議各位每隔10秒鐘後再按另一次建造按鈕
    7 Z! t* W8 ]0 M3 N# _這樣會為伺服器的負擔減輕不少
    & L+ g1 ?! w$ b) L而各位的帳號或星球也不會出現空白畫面的超時情形。" d+ Q7 U" b' z3 w* C3 w6 w
    P.S也就是說輸入1000W按建造
    9 B1 ^8 t- m2 Y( T% x6 I之後等個10秒
    ; ~; k, C% J4 n/ O1 n6 Q/ q: I, k" ^  O然後再輸入1000W再按建造....以此類推。, h. U+ {" A! [" a/ t' f* Q
    ----------------------------------------/ T: }9 X7 {2 g9 Q+ n1 q* `) P# s/ Z& {
    12月22日更新:( x# w* q7 g4 @0 S
    以下的情況只針對同時間裡
      r9 c, n) T3 `& S只有一個人在造船或防禦
    8 T' t: P& ?' T6 s1 T才有明顯的改善
    9 F  `/ W+ T6 F4 ^+ _0 a, p但同時間裡且同時有
    + a% B. D5 k* e' U. S# v3 ?多位玩家連續造船或防禦. p* n; y+ G8 I' y; ]/ ^. j4 A5 ^( h, W$ L
    那麼伺服器的CPU使用率
    5 W/ U3 K( O$ i" r  B又會跟以前一樣是100%, k  J9 j2 ^1 i/ @& G6 c1 L
    只有改善一點點
    ( ~" c/ ]" F5 z於是站長又將建造延遲時間. K7 A+ D7 ]4 [
    改為50微秒了) s6 A# |# I" A/ m9 z! y. W
    現在每建造1000W的船艦或防禦要花8分鐘左右的時間0 [& _) b/ A' y4 {
    雖然建造時間多了不少& Y3 z0 P1 [0 N& g, i
    但伺服器的負載量大幅度的減少了
    # r+ ]9 x  Z5 x( R8 [  c( u且總比死當不能訪問要來得好多了吧?
    ; C* C' `/ i$ Q# J--------------------* c; ]1 V8 B4 p1 J
    各位玩家們有福囉~
    & _" N% u! M0 e2 I* f; C$ q$ R3 u即日起可以不必再忍受5 ~- R4 P$ R4 V2 I# N) T* i
    建造數量只有1W以及3 Q* a4 \: p7 z( _. t  t
    還要請GM幫忙代造的痛苦了
    " n& O, K. |! r( c! ]' C經過站長1天的思考與研究後
    9 V  `/ d. ?3 J終於發現是什麼原因
    / p+ i$ _1 j( ?9 P讓遊戲在造船或防禦的時候+ [) Q* }: }- q$ y$ N0 S) P* N
    讓伺服器死當或者很卡的罪魁禍首了
    + h) A; X; b1 E3 w  n" }並不是因為伺服器規格與配備不好所導致

    1 _- T2 {1 K) I真正原因是因為每建造一艘船艦或一門防禦( A: ?8 I; _9 [/ @  B
    中間沒有讓伺服器冷卻的間隔時間# r! u" D3 o8 Z0 Z+ h
    所以才導致伺服器在沒有冷卻間隔時間的情況下
    2 }6 Z% Z2 }0 K) F無法瞬間處理大量的SQL指令與數據- i4 i: J; l( k# }6 r) x" u
    所以才導致伺服器出現了死當與很卡的情形發生
    + ]8 G9 e0 W% ^: W0 H# m
    現在站長將每建造一艘船艦或一門防禦的# A8 `+ G9 \1 B; u8 D1 U5 G; S
    冷卻間隔時間由原本的無冷卻間隔時間+ }. K: I4 i! a9 Q$ \
    改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦

    0 i# _( O1 h0 w- e& j而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了) r- Q  W# s& [# Z& P$ a
    現在每建造1000W的船艦或防禦只需花9秒鐘/ u4 L4 r1 o' {* t8 G
    P.S建造2000W的船艦或防禦要花18秒鐘5 C- ]5 d9 k+ W+ p- Y8 }
    建造3000W的船艦或防禦要花27秒鐘.....以此類推.....
    ! N9 z8 b( Z' O5 N; I對各位來說應該不算太過份吧?

    . ]3 R0 y) v$ e% W- d0 Y" d; m在還沒修復此bug之前
    0 r* [; h- E( g. a1 q2 V( U建造1000W的船艦或防禦只需花0秒鐘
    - U0 l# ]* c% G- Y, e* y1 ~瞬間建造好,不用等
    : c& r. y0 A; ]但是給伺服器的壓力太沉重了
    ( c! k4 B3 |$ k3 |8 u7 t: Y4 T寧願稍等幾秒鐘的時間8 H$ v" D2 Q0 s4 n& K# ?) c' U& q& k
    也不要讓伺服器的壓力過大
    ) s3 g' J1 L. {& O% [7 f而導致伺服器死當或者很卡8 ~% u" w- }7 p1 D* W9 o7 h' N
    各位說是不是?

    ; L8 a# s7 x, q5 q$ D* E7 I& Q" l' {9 e4 V0 X/ N" g& q
    *對本帖如有問題的玩家$ @# B6 F% b6 a5 M3 u  B
    或會員們請回帖提出
    . d7 J9 T. |! F+ b站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 9400

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 8276

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大% [! }  z( q6 I' q) H7 C3 |
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:11018 / 11018

    生命值:3%

    升級   100%

  • TA的每日心情
    開心
    2023-11-9 21:19
  • 簽到天數: 4405 天

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣- {7 q; U: Q' A6 `
    不過我認為
      p0 l/ i3 c: K" S5 m/ `更改遊戲造船及防禦的方式才是解決問題的治本方法; f- m; B" w  O' l, N- h& A& T
    1 M: r" }0 r0 l  `7 [. T0 u
    例如要造1000W回收船  Y. k, `5 V  ]# f
    根據a大的描述
    7 ^0 I& j) u3 Y0 c+ k大概是造一艘便要一個sql請求5 N3 u5 R! }2 y+ m  ?
      f8 |* E9 y  Z, g" T* J
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    0 {) j1 _- ~. K; a9 rquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    6 @3 a1 H( U5 L, H. Nquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20002 @9 E, w5 P$ _$ @$ a  C* A
    ...... (略9999996條)
    , U  U# n* ^$ m% u. s1 U  pquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    * Y" y9 k4 p( d4 W
    0 h/ F: \9 r; Y$ Z. F- k5 {, j% `; o這様造一次
    , L% W7 E8 z7 j$ O( @6 Nsql請求比運作一個月的無插件discuz論壇還多: A; ?( e2 O; |/ j- D
    當然就是虛耗資源
    $ k% ^: `5 _+ V$ p$ E3 i9 ]* x4 v- O, R9 g4 @6 z
    但如果改成一個sql請求完成全部建造, Z8 l: p: y- ~
    不但建造得更有效率
    4 Y5 M/ [( {1 j+ S2 C, @造一次對伺服器資源使用也是近乎0
    # C0 K. S! g* j* g% A* M
      p# d: O2 x/ z, pquery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-200000000007 Q* b! K% E9 [+ E
    + ~* b9 Q9 d: ~( A2 A
    當然這只是基本概念
    ; g6 g7 r" K0 l; ?6 ~- [$ U要進行修改也有一定難度
    # ~2 H$ ]3 K. ]0 g/ [& A& g, |. o因為這只考慮到建造時間=0時的情況
    ) L. q3 Z4 r; v& Y7 s$ d如果建造時間>0
    * S$ [/ n( J5 N, V% S* q& [; L( U就要考慮頁面動態更新之類的一大堆問題% W% q  c, g- u4 g# i" X- ~
    只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 3791

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船........., a( S0 Q$ B; h0 l2 j* S+ l
    我囧了
    % j; u) Q' w5 w9 I) V. l! A- |8 @* z6 w7 q建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了3 o# @+ q5 t$ b: k- h
    9 i8 X& L7 r9 a5 S9 h' n( c
    之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 245

    魔法值:13563 / 13563

    生命值:5%

    升級   100%

  • TA的每日心情
    無聊
    5 小時前
  • 簽到天數: 5489 天

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
      ^+ o' L' S5 G; C! C' t不過我認為
    , C4 `* j, ^7 e: B" T! }8 W& g更改遊戲造船及防禦的方式才是解決問題的治本方法
    * p5 O  ^: O9 r, U& i: H2 {/ M: [, J( _3 I& `8 g+ v$ U
    例如要造1000W回收船0 z7 l7 ?( P4 O/ G2 T  ~. _
    根據a大的描述
    ! k$ ~( h+ Q& f9 n5 ^大概是造一艘便要一個sql請求
    ! i! p9 s# ?6 W2 E  m0 W9 Z. l
    6 q& O6 {& @9 l4 K4 n6 e$ Nquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    1 T9 L3 ~" g4 |query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000, T: f- F& ?# Q2 z4 G! V! @
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    4 ?6 r; a; R6 k7 C/ D" k2 I$ H/ h...... (略9999996條)9 ^% H. b2 V5 r0 c/ y# F8 B9 A
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20003 g5 i" l. m5 b! S8 c, T& Q# ?
    * p* {6 }& v: A! o8 u5 I  p* F
    這様造一次7 E# B' K* I) O- Z* N
    sql請求比運作一個月的無插件discuz論壇還多
    - Q- h2 y$ h4 T# c: v8 R0 @當然就是虛耗資源! a8 p7 |3 G1 u
    7 d; I$ Q7 D  L$ T/ Y& _
    但如果改成一個sql請求完成全部建造
    0 w6 l; i3 a! o* @' ?不但建造得更有效率
    & ?) y7 [: A5 n) y) @) F0 v6 |造一次對伺服器資源使用也是近乎0
    ! y0 H/ N4 L7 i) f0 a9 k, p# F
    3 K5 F3 D* p& w2 Q6 {2 s0 _1 \7 G: Q
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    & d6 A8 V# ?0 `+ P4 s# l6 d0 Z  Q: S( f/ @, |& H0 K
    當然這只是基本概念
    : Z  M, Z/ }; H0 _2 @- v要進行修改也有一定難度

    : M' f# a3 i  S* |5 s% G因為這只考慮到建造時間=0時的情況) T) l0 i0 W' Y/ k( G# O+ h
    如果建造時間>0
    - |- }  A$ ]& w$ R* x就要考慮頁面動態更新之類的一大堆問題
    5 g: F$ R6 f0 z# ~- L5 q4 _只好希望未來的3.0版會作出改善! F8 L& I$ n& }! Q
    b1984207 發表於 2010-12-20 09:17 PM
    3 t$ H& A1 [2 T  M
    我在遊戲後臺幫玩家代造船艦或防禦的時候1 _, H; j8 \" `6 o
    就是像你說的這個概念- [, Q( ^& A1 H# ]6 K; z
    只要一個SQL請求便可完成全部的代造
    ( i* g: X+ f3 i4 j& u9 `但是要改成只需一個sql請求完成全部建造; Q+ B. L2 S$ x6 Y
    的難度性很大且很高/ h$ t0 K% h7 Y' h$ r
    而且有幾個源碼檔案裡的一些代碼: g# _8 ?/ ?7 k, `. t
    可能甚至要全部改寫
    + V8 {. ~( x  ?2 ^+ d  H# |: K所花費的精力跟技術與時間不少7 Y* X" Y: ]; r1 h3 Q# E+ x
    不過能找出原因與臨時解決方法
    ' a1 |2 Q. e0 m  s( @) d4 j* c已經算不錯了
    1 a7 f: a- ~# }2 E真正治本方法還是交給
    8 s$ {- F) j# \; s! I- u9 J& Z# F全新的3.0版專業開發團隊
    8 X1 }, E2 @, U, H- V# j" c來做處理吧
    $ C& j- i/ f9 r6 n/ T但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6269

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??- E6 L# o" W8 H5 a; `( ~
    ((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 4857

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    9 F6 U& {# ?$ n0 o' N不過我認為
    ! h; J/ ~6 \1 Q: f1 ~0 l更改遊戲造船及防禦的方式才是解決問題的治本方法
    , J' l# ]- k# c- @
    1 t. v4 O6 L2 X" D/ m* _0 I: g例如要造1000W回收船/ P. [1 R9 \: `  c3 _0 p3 i
    ...8 A3 h" F1 Z6 B" m
    b1984207 發表於 2010-12-20 09:17 PM
    0 u% P& ^  w' ]2 |
    你是不是想這樣
    : A7 S& A. b  p2 s& b假設用戶輸入傎為a6 r9 O* B$ a( G" }  n% K
    假設一隻回收船要一秒( \4 _0 ]) Z: \
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:11018 / 11018

    生命值:3%

    升級   100%

  • TA的每日心情
    開心
    2023-11-9 21:19
  • 簽到天數: 4405 天

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯
    $ t! q/ S7 f0 F; p. |& v
    你是不是想這樣) q: ~& k8 O1 O6 l% E1 b
    假設用戶輸入傎為a: l) U; d8 v1 v! ~% ~, e
    假設一隻回收船要一秒
    . l/ a, w7 T3 y6 m( r1 Q9 Vquery : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...
    + O; M/ P) l* q, C2 b# C  Nqweasdz 發表於 2010-12-20 10:11 PM

    ) ^( ]& w- G: _2 M2 D" {8 l1 d/ E
    ) K- k7 g7 X! ~- d0 W; r3 L也差不多吧" j6 H. K$ X# A- i) {( T
    我的概念是這樣* X. A+ X2 d9 p" X( F# g0 q

    0 A4 ]2 b2 Z. \5 N完成的時間 = 現在時間 + (造船數量*每隻製造時間)0 ~% O; r: p  _2 F
    2 J5 O- R- G- r& \
    sql query 就這樣... (不肯定格式對不對). s1 P2 C$ Q5 [  {3 d; E
    INSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)
    % v* Y1 c1 o" i$ B& N/ v$ m4 i' F# m$ M; D" g* Q; {- i* m
    然後就像你那樣減去所用資源' c, h! ?, B4 h7 J  m$ r! _0 S

    # Y: W6 k, J9 O* p! c5 K之後在進入造船頁面時2 A- @8 [! `! n1 a; u
    由資料表拿回資料
    $ a, K9 P5 X) T& f6 T計算餘下時間
    # v+ N4 F  Z- s, g7 R5 f: q* J未完成的話就透過javascript進行頁面動態更新餘下時間
    & q0 o1 A# C! ~" G7 `9 J6 Y3 V直至完成
    * W, l6 m$ O2 P1 F" [! Z  d完成後就在艦隊加上造好的船) Q9 i. L- M; u1 y- o6 r/ p
    然後就可以拿去開戰了...# Y9 E. g8 s# D4 V8 ]8 R! P
    & n, S4 v- M+ k' t% _* ?
    不過這樣做的缺點就是必須在全部完成後才會得到船
    " ]  {. _; [- h6 W3 c例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0
    0 y# w4 O2 S6 `) C" a0 t. t如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3052

    生命值: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-1-23 06:08 , Processed in 0.017252 second(s), 14 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

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