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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 244

魔法值:12909 / 12909

生命值:4%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:' K. c! {  L" u1 o8 m; P5 j/ E
    全新的伺服器軟體與環境正式啟用
    6 V. K  T6 i  k; I. ~, W這大大的減少的伺服器的負擔
    0 }- ]6 y/ `' e因此建造延遲時間由100微秒4 v7 E5 q, D0 }6 T+ u
    縮短為25微秒。3 Q4 I9 ^! }) o/ I/ z
    ----------------------------------------
    3 C( w9 U  S( P% i; y12月23日更新:9 U, b0 i# y# n* a1 w
    站長建議各位每隔10秒鐘後再按另一次建造按鈕! X0 V3 U/ \+ S7 {  Y) N
    這樣會為伺服器的負擔減輕不少) o4 v' w* S! K; ^$ {+ L* j
    而各位的帳號或星球也不會出現空白畫面的超時情形。
    & I/ y, g+ e* W1 U  rP.S也就是說輸入1000W按建造1 A* W" b+ U; J- e& o0 R4 \. q. N
    之後等個10秒
    ( u4 N: J5 ]5 \) N1 [- ^然後再輸入1000W再按建造....以此類推。, j1 \7 W+ z! ^
    ----------------------------------------
    # C/ J- ~! T5 W2 Q6 B12月22日更新:
    3 J& m/ z/ ^/ P% Y) q6 \以下的情況只針對同時間裡6 Z0 M8 }: N! v  I* B7 n
    只有一個人在造船或防禦" F) H2 |$ Q/ A
    才有明顯的改善
    6 s. b0 J4 s3 b+ V但同時間裡且同時有
    % K! a0 N2 U9 @多位玩家連續造船或防禦
    + R. n% _/ U' I% H8 J: P那麼伺服器的CPU使用率1 B* ]6 h# M3 M8 f
    又會跟以前一樣是100%( d' Q  w3 ?: \& I4 Y
    只有改善一點點1 U* b# _4 C6 n7 a
    於是站長又將建造延遲時間4 y$ H( d% Z( @% I$ Z
    改為50微秒了
    $ z# n- K4 f$ W( b0 s0 @8 n( Q0 }現在每建造1000W的船艦或防禦要花8分鐘左右的時間3 f7 Q. s6 {) @' k2 K( F; b
    雖然建造時間多了不少
    8 o) I) M* J7 |" G+ n; a但伺服器的負載量大幅度的減少了) h+ @0 r( K" y1 L
    且總比死當不能訪問要來得好多了吧?
    . W; e2 y3 g) X" U--------------------
    . u" {8 p( K! H7 z6 g- A各位玩家們有福囉~
    : W. _8 x  K& Y6 p& @' F即日起可以不必再忍受# z8 ?5 K, U2 ?  \. x7 H
    建造數量只有1W以及
    6 P7 x2 K+ z# t5 J) t還要請GM幫忙代造的痛苦了
    # u! x3 s- Z, b. z經過站長1天的思考與研究後/ Q9 c9 J5 G, {1 D/ a9 |  u! J: F9 ^
    終於發現是什麼原因9 r4 S& F) _+ E
    讓遊戲在造船或防禦的時候2 E$ l7 H3 |8 u
    讓伺服器死當或者很卡的罪魁禍首了
    6 i" \6 O6 O& ?' I並不是因為伺服器規格與配備不好所導致

    0 J# h/ p; j- `, ]真正原因是因為每建造一艘船艦或一門防禦
    2 \! u- r7 G5 p# p$ z: Y* r# z中間沒有讓伺服器冷卻的間隔時間
    * @% q2 P2 u& I, Q: {  @0 l2 q所以才導致伺服器在沒有冷卻間隔時間的情況下- ]/ V/ Z# y* Z/ n% }
    無法瞬間處理大量的SQL指令與數據
    7 D8 |( R6 t3 I- Z8 q所以才導致伺服器出現了死當與很卡的情形發生

    ! j1 k$ S  U4 L! |  J& G現在站長將每建造一艘船艦或一門防禦的; b# @3 s1 a& y0 B
    冷卻間隔時間由原本的無冷卻間隔時間
    $ t: x6 @& t6 d+ {改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦

    / S* Q0 e5 A4 R/ q4 F$ m; Z2 O8 X而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了; J6 ]0 P/ d  F% H- Q
    現在每建造1000W的船艦或防禦只需花9秒鐘
    $ p7 Y- M9 i) mP.S建造2000W的船艦或防禦要花18秒鐘
    " q2 q. X, f& z# d建造3000W的船艦或防禦要花27秒鐘.....以此類推.....1 H1 u& l# I, p* g, _/ \4 K, U
    對各位來說應該不算太過份吧?
    ) l/ z) U' `3 N& R. k
    在還沒修復此bug之前2 s! [* a  p7 b! ~/ y( D
    建造1000W的船艦或防禦只需花0秒鐘
    . D- f6 B6 K2 Y- z; j) K( G5 ^瞬間建造好,不用等7 U# F& _, T& l3 m; j1 s
    但是給伺服器的壓力太沉重了- l  i+ y4 D( w+ T) Q0 c( H; w
    寧願稍等幾秒鐘的時間( y8 s, U# H% O& I! F1 R
    也不要讓伺服器的壓力過大
    4 V3 U: [, b6 Y3 r  Y而導致伺服器死當或者很卡
    0 m) R, }- Z2 y7 I各位說是不是?
    ) W  y7 [( R% n' b- y
    . U( q  D: w8 y, Z* E
    *對本帖如有問題的玩家/ G7 |! w* d6 y" O
    或會員們請回帖提出8 a4 T3 X1 w9 `  \) P+ n% c9 [9 A, }
    站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 8975

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 7906

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大% k1 `! ^) J- I3 i) X( Z
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:10489 / 10489

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣
    5 A( B! h: R: G  L2 f7 o2 ]; |不過我認為$ x# v: P# D+ A$ }4 _5 |9 }  l
    更改遊戲造船及防禦的方式才是解決問題的治本方法! R  Y6 Y9 S, w

    ) @$ C) Z) J: V( H( Z# h, e例如要造1000W回收船0 Y$ G; S) u2 }* s' N8 v/ b
    根據a大的描述
    + D: {* n0 X- T1 i大概是造一艘便要一個sql請求
    3 L! C$ F  f7 g  H; S  p8 A. D5 [; a
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    " ^0 ]  z  f' m, A( B! J) Jquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000( j) v. _- C5 n
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000( I  Z0 I/ m" v8 c* C; v
    ...... (略9999996條)1 A5 E4 O2 o& Z
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    $ e, f  z, ^3 j) |# W9 k1 W$ e
    & B& I+ o& C% }" U; d9 c5 Z這様造一次% \, Q1 ^& k; m8 ]; [6 _- @
    sql請求比運作一個月的無插件discuz論壇還多
    ( f2 I/ b: N1 x0 k當然就是虛耗資源
    , O& E5 o3 @; V. R' t' v; |* D* f
    但如果改成一個sql請求完成全部建造; D4 ]% s/ x' r+ D, j; Q. u
    不但建造得更有效率( A( t# S& H9 _9 j. Q9 {3 M, F
    造一次對伺服器資源使用也是近乎0  s2 ^7 l# g" j# C& A  S

    + W' I% H$ o7 Iquery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-200000000001 ]3 B) _. [; a$ X3 s

    7 L/ Z* g  A3 e; V4 C: i! G7 K1 \當然這只是基本概念9 y2 _' W0 K$ N0 B; r
    要進行修改也有一定難度( u2 p( _* t$ M5 d4 S5 x( c
    因為這只考慮到建造時間=0時的情況
    % q$ ?2 Y! @5 E% n7 j4 z8 }如果建造時間>0
    ) Z" W5 x; o7 ^7 f* ^9 `  l就要考慮頁面動態更新之類的一大堆問題
    % t& d  u+ w6 s# o只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 3608

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........
    ; p8 F! m, }. \7 h) Z我囧了
    ( f# U; m6 L$ l5 u% _建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    , z# W4 H: F0 X( v( f0 c' Z, |( E  W3 q" k7 z' D
    之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 244

    魔法值:12909 / 12909

    生命值:4%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣8 _1 q2 z/ b+ E  \8 j: L' f
    不過我認為, `" R$ X$ o+ H! j+ M4 |
    更改遊戲造船及防禦的方式才是解決問題的治本方法8 r1 u, E, o5 O

    4 {$ j0 u2 }* A3 Q" v. k例如要造1000W回收船: w' ]0 n* z: d+ G9 I
    根據a大的描述
    2 s, k8 ]) I& Y: _大概是造一艘便要一個sql請求& q5 r4 }8 q0 J8 o& p- X

    . G: m  O5 l2 ^- i. G# w, {5 {& @query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
      K( m4 R( C; k& Dquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    9 ^6 k4 n4 |2 @8 _+ oquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    $ L, d9 e4 q$ G...... (略9999996條)! d# l+ U- ]- c# p
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    / n! T. q& T. S/ w6 j* s5 H
    ; ?) \0 }( s' [/ g% s& g+ ?這様造一次/ M& U! N: J8 ]/ R8 R7 I0 E
    sql請求比運作一個月的無插件discuz論壇還多
    + ~0 \8 p7 w  c7 `8 C# l) r當然就是虛耗資源
    , ~3 M- R9 R( t- F+ H
    ' a, v: S/ P* Q0 V6 Y2 n但如果改成一個sql請求完成全部建造
    ( \' u8 x0 [3 P% `2 K不但建造得更有效率/ {8 B$ i1 ~. {9 @
    造一次對伺服器資源使用也是近乎0

    ( Z3 g2 ?# j* y+ H( Y7 E- u/ U# t& e5 `' s: w* B0 S+ R9 q0 }
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000( i" `! J. E8 H0 R! k
    $ x/ S7 F9 S& |; O4 ~0 |
    當然這只是基本概念0 ?5 e$ X. i$ U! p( J1 W7 S, r# A
    要進行修改也有一定難度

    . m$ g. [5 M/ h因為這只考慮到建造時間=0時的情況" T  |" i4 T' |3 [
    如果建造時間>0
    9 S" u3 }# s7 ^- m  }: ?' [就要考慮頁面動態更新之類的一大堆問題
    + S. y& P0 Q4 V! `9 F- W只好希望未來的3.0版會作出改善
    ' Z- H5 p0 q/ Y/ Y. r4 _b1984207 發表於 2010-12-20 09:17 PM

    7 {; e+ ^; h6 T$ a: T1 t我在遊戲後臺幫玩家代造船艦或防禦的時候
    % ~- ^$ g8 i6 J, n  d: Y" s6 M6 |% P就是像你說的這個概念
    0 h! x% H6 n; I3 s+ {# t) G: ~3 Z只要一個SQL請求便可完成全部的代造: J( A" G$ ?7 E( }; U
    但是要改成只需一個sql請求完成全部建造
    , U( \% a: V/ h) q的難度性很大且很高
    * B, P4 ?, M% `! {' _' C( @而且有幾個源碼檔案裡的一些代碼( F, Q8 v1 F- ]- L  M( Q$ z: p
    可能甚至要全部改寫
    4 D5 F% a! M7 A2 h7 `% S7 e所花費的精力跟技術與時間不少
    ! `. m; p' c6 l4 s不過能找出原因與臨時解決方法
    8 t2 r* B0 J8 t: s已經算不錯了& G# L$ P$ Z" Z( a
    真正治本方法還是交給" C: R9 f. }) l8 z. H# ^
    全新的3.0版專業開發團隊
    + \& J2 x$ V# W6 D來做處理吧: X' Q" b/ h! f% X0 t  ]# R
    但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 5974

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??2 `# Q, X) q: y4 g3 R
    ((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 4627

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    ' M; B& Y+ @/ }$ z不過我認為# p9 W8 ]; r# i/ |
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    3 n4 `& r7 T% {  Y" c( j( F& n# F/ a- l2 Z" u& D+ G. f8 C
    例如要造1000W回收船
    . ]( y' e+ T) Z0 a ...' [& U; ?3 P/ ~* |- [# |, y( f1 S
    b1984207 發表於 2010-12-20 09:17 PM
    2 h4 `- ~6 d1 g5 E4 U- ?
    你是不是想這樣
    8 j+ F) O4 _, Z! J假設用戶輸入傎為a
    1 @! k+ g- U/ d  _) t假設一隻回收船要一秒
    9 }$ W+ F5 |" u7 c' R; iquery : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:10489 / 10489

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯 7 m+ x% N+ r7 l' V" a
    你是不是想這樣* c/ M: o3 X  o' ~
    假設用戶輸入傎為a
    6 h/ B9 d; w, g2 d) w5 U假設一隻回收船要一秒
    - @0 Z6 e: i' i1 }query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...
    % Z" U( R3 b; F/ k, K) x8 qqweasdz 發表於 2010-12-20 10:11 PM
    8 s2 }) L' [) D+ Y/ Y$ S
    # ]; p+ t: L) f$ j5 w
    也差不多吧
    3 d- C% a  X) b4 S+ U- X我的概念是這樣$ h4 t( N% U  t9 c; v9 n8 m8 ?$ b, m
    " j+ ~4 Z5 h/ P9 J8 O/ Y
    完成的時間 = 現在時間 + (造船數量*每隻製造時間)
    2 S# E9 c5 f( C- K! a# m  d  z  s4 r- w2 t
    sql query 就這樣... (不肯定格式對不對)
    9 M- u2 {( p( O; H: `$ I0 F1 v, VINSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)% g1 `# v/ i. W) p
    ; p3 s! ^% f! x* `: z
    然後就像你那樣減去所用資源0 O2 v; ~* k0 b
    * K. ~  O! N! k- O/ ?8 n
    之後在進入造船頁面時
    6 Y! i; V: O, u! ^5 V( r" s& O3 b由資料表拿回資料
    * J* u. }+ l0 b7 `" v計算餘下時間
    ' ~( W' p/ v- L! x$ Z未完成的話就透過javascript進行頁面動態更新餘下時間+ q8 N6 ^8 ?% |& p4 n/ t
    直至完成
    3 O" V" j" [3 a+ [- t3 g完成後就在艦隊加上造好的船
    & J% O6 j" d3 S2 s1 X8 s然後就可以拿去開戰了...
    % _) `# |' b" t  ?% R7 @
    % g9 ]3 d- ^5 O) Q9 f( U* Z不過這樣做的缺點就是必須在全部完成後才會得到船
    8 a3 r5 i, x/ I3 }% F例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0  v2 X" @' Z) p% y: v
    如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 2905

    生命值: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, 2024-5-20 12:44 , Processed in 0.089121 second(s), 16 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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