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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 245

魔法值:14064 / 14064

生命值:5%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:
    8 ^+ ^0 k# `, A0 ]/ I* S全新的伺服器軟體與環境正式啟用
    + D. H) R. a; A7 X/ |4 w這大大的減少的伺服器的負擔0 e, L9 A4 _) t7 Y" P: \. S
    因此建造延遲時間由100微秒. n9 r8 c8 _/ R% _* E
    縮短為25微秒。$ S# Y2 x- c" H; e/ p
    ----------------------------------------
    & s* i2 E+ d) J1 v  {# g, F  J- o, n12月23日更新:% }& J  T! y! Z
    站長建議各位每隔10秒鐘後再按另一次建造按鈕7 F  v( ^3 ]( L
    這樣會為伺服器的負擔減輕不少( S4 \! O" x( t. K  K
    而各位的帳號或星球也不會出現空白畫面的超時情形。) P) M( c2 a+ r4 J; ^
    P.S也就是說輸入1000W按建造7 _/ @. l4 q4 T" d+ u
    之後等個10秒
    : U, b* a2 G: K8 T然後再輸入1000W再按建造....以此類推。6 ~  F4 f7 Z' f( x* @/ I
    ----------------------------------------) L: g  c2 F; _0 d( c
    12月22日更新:- i# T3 q) a. b: w
    以下的情況只針對同時間裡( `% u" l& W: _) r3 _
    只有一個人在造船或防禦- W0 g* B5 I9 w" q+ y& R7 B
    才有明顯的改善# r+ o) X7 S9 N- L
    但同時間裡且同時有2 P& m( C7 {8 s
    多位玩家連續造船或防禦
    - x0 g4 f- v( n# f6 I那麼伺服器的CPU使用率
    3 q, o# w9 T4 }. r. x又會跟以前一樣是100%
    & x( A0 Y( ?$ d% K只有改善一點點: h0 ]$ ~& ]# |5 s% H! E& y0 C
    於是站長又將建造延遲時間2 e( S3 D' [2 Q3 \4 w
    改為50微秒了7 n  U" ~& L8 H, {
    現在每建造1000W的船艦或防禦要花8分鐘左右的時間/ J$ K2 q! M& N  N% Y  n6 ~
    雖然建造時間多了不少* t2 V" B4 J; n3 S0 t+ A& ^: S
    但伺服器的負載量大幅度的減少了
    & i# ~& ~; d. R! [0 O  \3 c' W且總比死當不能訪問要來得好多了吧?
    8 ]0 E7 o8 H4 ]4 m% X6 Q1 B: Q--------------------
    ; w4 `* h$ a4 ~5 k; b' ~; q各位玩家們有福囉~
    ' `/ t8 K8 G& L0 }) ]4 M2 f即日起可以不必再忍受
    ( M; a3 ]6 l" z0 \建造數量只有1W以及
    7 }9 E. K0 B0 s( g+ v8 }1 f, Y" H還要請GM幫忙代造的痛苦了
    . K. |! d+ I6 M+ C% z5 ^0 i# a# d經過站長1天的思考與研究後
    ; ]) H/ Z3 b: c  O2 F' i終於發現是什麼原因/ }( n' p8 p, C& |) |/ F
    讓遊戲在造船或防禦的時候
    $ d8 _0 D- G6 Z' o% f' T" ~* A讓伺服器死當或者很卡的罪魁禍首了
    ) m8 V- J; h' b$ m# O並不是因為伺服器規格與配備不好所導致

    ( t! ]+ |9 x; w0 Y$ [6 R真正原因是因為每建造一艘船艦或一門防禦3 N" m+ p8 A4 V
    中間沒有讓伺服器冷卻的間隔時間' E" f/ \" L1 D4 _; r2 A& e
    所以才導致伺服器在沒有冷卻間隔時間的情況下
    $ t2 S) s) s$ ~% F" j4 G/ x/ w無法瞬間處理大量的SQL指令與數據' q# D7 k/ i, b" j( A. l
    所以才導致伺服器出現了死當與很卡的情形發生
    " x+ K8 M- K. M( ^: b, Z
    現在站長將每建造一艘船艦或一門防禦的
    0 j2 \2 R" B: R# x8 F* W6 V冷卻間隔時間由原本的無冷卻間隔時間4 O7 ?2 p' W8 [3 T# m  E4 i1 R
    改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦

    0 o/ Z, n" A8 y5 `而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    # c9 K. t- q2 Z現在每建造1000W的船艦或防禦只需花9秒鐘
    ) N) q/ B: h* r8 \P.S建造2000W的船艦或防禦要花18秒鐘
    + N" q3 @- ]# Q9 E建造3000W的船艦或防禦要花27秒鐘.....以此類推.....9 p) T+ a' }7 Q
    對各位來說應該不算太過份吧?

    : V( }8 w5 I6 Q5 n3 M, j在還沒修復此bug之前
    " A& ~; Z7 Z# B建造1000W的船艦或防禦只需花0秒鐘
    8 C2 F- X8 E; |/ D! {" a: _瞬間建造好,不用等" Z+ Z  T/ Q2 [+ ~; m9 Q/ ?
    但是給伺服器的壓力太沉重了
    % N: C6 m- j9 K% q; j" I寧願稍等幾秒鐘的時間( S5 n$ M+ l( j$ l1 P; D
    也不要讓伺服器的壓力過大
    * n% p' z) Z! S! s. _而導致伺服器死當或者很卡
    4 G6 w9 L3 k' g' n/ w. I; A+ m各位說是不是?
    6 R. P' R+ l; K, b9 _8 U
    : t: |' P  e4 p# A
    *對本帖如有問題的玩家% k5 ?. \# \$ E2 [% l' T5 n
    或會員們請回帖提出) z6 e9 J% c1 A
    站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 9728

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 8562

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大, E, A. p9 c) m! n1 j9 _# K
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:11427 / 11427

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣
    ; X! [3 \. h$ |& {不過我認為$ W  G2 v! F3 f
    更改遊戲造船及防禦的方式才是解決問題的治本方法! i1 I9 t; l7 W5 x7 p4 \! J: _
    $ }! M7 `# I3 V# D" t  F( g
    例如要造1000W回收船# S& I+ s2 o- S9 Y; k
    根據a大的描述2 r1 H7 J0 G+ n' V8 l$ Z
    大概是造一艘便要一個sql請求
    ( J5 [. ^+ }1 V+ l; I3 K+ ?7 b- d1 b, f4 J" ~- N) o9 g5 k4 u
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ! T: O+ {: X& w8 mquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ; d2 J* L. g2 Q8 ~query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    : }, U1 N5 o( `- l) U$ i. ^...... (略9999996條)4 b" }# X0 m$ u% a% E2 ?5 o
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    9 k- L( ]/ V" M! K4 Q7 e& D  g# m/ W( Z/ h
    這様造一次
    , }+ m3 D7 o! U; y1 h+ _+ ?1 j, Z8 dsql請求比運作一個月的無插件discuz論壇還多$ c( f& [& V) G; X& K- `& q/ p3 ]
    當然就是虛耗資源8 k6 p9 P6 _( Z. F6 d! z/ f

    1 U( P6 \0 x2 R+ w" ^" [0 c但如果改成一個sql請求完成全部建造" x8 j! R& w  @0 _
    不但建造得更有效率
    & n9 n/ y8 X4 V& Q7 u造一次對伺服器資源使用也是近乎02 E# W- X4 B5 l0 h# C/ j2 W& i

    6 l9 M/ ?) B' ~0 R# yquery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000: Q4 ~) E4 s0 z$ Y* v5 A

    ) t0 Y' U* Y! o% k" A* i) [! K" ^( `當然這只是基本概念8 R: H8 w/ [0 O4 r, m
    要進行修改也有一定難度- Y( a9 s$ R: _! V2 D- }
    因為這只考慮到建造時間=0時的情況! n4 v* e, O$ X1 B% I, f
    如果建造時間>0
    * K: d4 T3 I4 J+ n: ~" s就要考慮頁面動態更新之類的一大堆問題9 E" f' S8 v6 z
    只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 3931

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........
    # e; }" M0 [$ J, X% i/ b" g我囧了
    7 ?7 N; s( Y) d; c; s/ g建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了4 r$ k) h# [& G+ }

    % T# p! ^4 a4 E& u" j8 ]1 q: F之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 245

    魔法值:14064 / 14064

    生命值:5%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣8 |0 |3 D/ L# V
    不過我認為% m; u% m* t5 X. J1 o
    更改遊戲造船及防禦的方式才是解決問題的治本方法; V* u5 I! K! c
    + v; j% I* E  W- b( ^
    例如要造1000W回收船/ h- e' r7 n- }$ s  i, N1 ?& Z
    根據a大的描述" q! N" _" Y+ ~& I* O1 `
    大概是造一艘便要一個sql請求
    ) t# _4 t0 u2 Y. ]2 e4 V# R3 v& W! z7 Q5 Z& t
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    4 l7 s! ~$ X" N. ]1 V9 |query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    , ?5 E  V9 ^/ J1 L3 q0 K% J( _/ |query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    6 P6 z+ G5 }& j" o' V1 A, }  |...... (略9999996條)+ R0 Q) c" [- u1 M9 K
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000" @7 {* e- w8 ?) O2 h

    % J% d+ Z) k+ R% ?3 `  k) O這様造一次
    ) ]1 e2 q* F2 w$ ?; `sql請求比運作一個月的無插件discuz論壇還多0 W: O4 d. x: H+ |! O
    當然就是虛耗資源
    # j" X+ I! O2 {: V5 ?% o; y9 b
    & k. E9 J# K6 ?, ?5 b& p9 Y但如果改成一個sql請求完成全部建造* c! u0 M+ |7 o7 }
    不但建造得更有效率0 c9 y* X, y  O2 `+ U- }2 x
    造一次對伺服器資源使用也是近乎0

    ' j) X5 l. O: r6 C( w
    . u% O$ w; o3 W$ U) rquery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-200000000001 q1 N+ ~- b2 w& z; K/ \

    , E1 a6 x9 g# e當然這只是基本概念& F8 A1 u* q" n1 j
    要進行修改也有一定難度
    % S2 l' q: s) P. F8 D8 L4 R/ B
    因為這只考慮到建造時間=0時的情況$ G$ j- y$ }2 p" X; h9 r" C
    如果建造時間>0
    4 j0 n) k$ V; f$ P* J1 ]8 j. I! O- L就要考慮頁面動態更新之類的一大堆問題/ l8 Y( G; C) w: r3 P
    只好希望未來的3.0版會作出改善
    3 C/ P; T( H: \( Sb1984207 發表於 2010-12-20 09:17 PM

    9 A1 r) ?* {2 y) J) m3 U- n我在遊戲後臺幫玩家代造船艦或防禦的時候
    ( j# m" h0 ^; s; I. K/ f; Z; P8 [- @3 G就是像你說的這個概念
    * s- V2 [8 r$ n' Y( D. E5 P只要一個SQL請求便可完成全部的代造
    3 ~, t1 j( X8 n5 n5 H但是要改成只需一個sql請求完成全部建造8 \, t2 _9 ?9 ~4 t6 v
    的難度性很大且很高
    3 q& r. t% Q, a0 Z7 [7 I而且有幾個源碼檔案裡的一些代碼
    6 P7 l0 `6 o* @2 N6 u可能甚至要全部改寫: |- `' i4 r* X+ e" _
    所花費的精力跟技術與時間不少  r4 ~; ]1 {5 a: |- u- V6 y! `  |
    不過能找出原因與臨時解決方法
    : g$ J0 A: Q- v9 |& \; Y' f* Y/ ]已經算不錯了
    4 n6 ]: k, X% r1 X4 T: n& l真正治本方法還是交給8 }: |0 ~7 U/ \: I5 `
    全新的3.0版專業開發團隊
    * K$ b- j' O, v- r/ Z4 Q( Z來做處理吧
    0 M& C  Z$ ?. [, T但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6497

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??
    9 `5 O! [; P6 z& I7 I: g  t: A((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5035

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    6 f, d% @: ]' v. T) y不過我認為
    2 s3 c1 o* |! W! a/ v! L  i6 s2 a更改遊戲造船及防禦的方式才是解決問題的治本方法2 `% _7 v( E; p" l5 g( z

    & p1 i6 e8 r) g* q/ D例如要造1000W回收船% V5 D! k3 f7 X, a+ U4 E+ k
    ...
    9 y/ U$ G, }0 Jb1984207 發表於 2010-12-20 09:17 PM
    4 x0 o0 C5 H3 ?" q' T
    你是不是想這樣
    % n! R* K! \- K2 U假設用戶輸入傎為a
    - R# C; ?! N( B0 e4 i& E假設一隻回收船要一秒
    % D" m* S3 n5 G4 Iquery : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:11427 / 11427

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯
    9 R8 i5 U+ _+ H9 z9 S$ I* _1 l) a& s- I
    你是不是想這樣5 j" c  S5 f2 u/ t- \8 a/ r8 y
    假設用戶輸入傎為a
    # A: L( Y8 i+ W" f假設一隻回收船要一秒& @6 Q& ]; |1 q6 i& K4 P4 P) N
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...- q1 c: C/ Q, j9 Z( C' o) `( \
    qweasdz 發表於 2010-12-20 10:11 PM
    ; p# x' E) p' d% `& f

    8 u/ N) w$ t/ r6 x6 P6 w也差不多吧& a7 q! o) n, `9 j/ \1 [
    我的概念是這樣* m7 q1 F' \4 b7 [/ R
    " m' q  K+ L2 `- a/ ^! B) ?
    完成的時間 = 現在時間 + (造船數量*每隻製造時間)
    ; ]2 c# g9 W5 I3 ?
    5 A7 M5 x' |5 {( z3 b; {sql query 就這樣... (不肯定格式對不對)+ v& u, \7 r+ K, d" h
    INSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)' P/ B  A' }# J" N

    - p4 ^$ B& W1 X1 z8 d然後就像你那樣減去所用資源6 {' ^4 h" Y4 N9 i; B0 u/ T5 N

    & ~' E, S7 Z) T# z- D+ g: l之後在進入造船頁面時
    3 E! f+ e6 b- f/ F由資料表拿回資料
    & K0 _. s/ N; ]計算餘下時間# ?: w# |4 V' o% O
    未完成的話就透過javascript進行頁面動態更新餘下時間
    3 q( i9 w$ s- K直至完成
    " A' h  ], p; X3 i, l3 A完成後就在艦隊加上造好的船; x2 Z2 g) O- g- _5 j
    然後就可以拿去開戰了...; E% H7 u5 L# h( X& U. A, X( ?

    - P1 s; U* J( T3 a3 C  @不過這樣做的缺點就是必須在全部完成後才會得到船9 E, a# p) z4 a
    例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0
    1 X# [) S( K( |* D* S3 b4 w如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3165

    生命值: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-8-2 06:57 , Processed in 0.022132 second(s), 12 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

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