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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 245

魔法值:14128 / 14128

生命值:5%

升級   100%

  • TA的每日心情

    7 小時前
  • 簽到天數: 5690 天

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:6 d% Y$ k9 x* T! a# E) B
    全新的伺服器軟體與環境正式啟用& g& W+ d( w( K8 F8 _
    這大大的減少的伺服器的負擔* n, o, ~' I# }4 k) e
    因此建造延遲時間由100微秒
    $ }4 Y$ x( s% |" B: f' K' N" H縮短為25微秒。
    . F9 l* m2 d, |% ]& h6 e----------------------------------------
    - C" g& E9 i+ u6 F( [% Q12月23日更新:
    2 r; W; p( k/ x站長建議各位每隔10秒鐘後再按另一次建造按鈕1 Y6 F/ E/ \" F6 o. n
    這樣會為伺服器的負擔減輕不少
    3 @2 M5 z9 j4 A8 h5 O而各位的帳號或星球也不會出現空白畫面的超時情形。' |+ ~# ?9 K3 m# _
    P.S也就是說輸入1000W按建造) X; c# d7 _# n+ c0 w( t* t
    之後等個10秒
    ' U, h/ |# b' r' c然後再輸入1000W再按建造....以此類推。3 M9 k+ B' m0 o4 F7 E" K
    ----------------------------------------
      m) I; ]5 |/ t( \& ^# j12月22日更新:
    4 Y7 j. a7 x# q- j; \  N/ |以下的情況只針對同時間裡* v& t' _  I( b5 Y* ~
    只有一個人在造船或防禦
    # D3 h- p! g, E4 a: n才有明顯的改善0 c; I2 K8 v) r2 A$ l" R
    但同時間裡且同時有! P" l& {& X; f9 R0 K* `9 K8 H
    多位玩家連續造船或防禦
    / D5 i* O/ |4 d1 Y5 m那麼伺服器的CPU使用率
    / L8 s2 l  f* w0 u1 a8 }又會跟以前一樣是100%
    ( j3 P( j! |5 n8 \只有改善一點點7 O2 J# n- G! ^7 k* b/ m+ @# {( G
    於是站長又將建造延遲時間- z. \3 j* S! i' t; u6 [( L% o4 \
    改為50微秒了0 K: Y( z  q# j, X
    現在每建造1000W的船艦或防禦要花8分鐘左右的時間* r+ l. Q# h# o  _
    雖然建造時間多了不少
    4 E) S0 s. I: u% Y3 |但伺服器的負載量大幅度的減少了' ]" T/ V; \7 x1 ]! s8 N$ @% E% ~
    且總比死當不能訪問要來得好多了吧?: m& @! o! T: q0 \5 y8 x% R
    --------------------) n; `) {1 E4 X) Y) }+ l3 \* Y" y
    各位玩家們有福囉~
    4 R1 j, e, w5 ~2 {/ A9 r- t即日起可以不必再忍受
    $ }: J: k8 ]% h: F& K建造數量只有1W以及4 }" b$ C$ s8 ~3 V5 D  J% x
    還要請GM幫忙代造的痛苦了
    9 h( k- w6 I" x* e$ ?7 |經過站長1天的思考與研究後
    - p9 O* H& C" g. f5 @0 K終於發現是什麼原因$ D0 p9 c5 g0 F5 [) d7 p2 M
    讓遊戲在造船或防禦的時候
    ) N- j9 N6 j8 g2 k/ r7 }6 \讓伺服器死當或者很卡的罪魁禍首了1 g0 Q' o, a9 }9 V
    並不是因為伺服器規格與配備不好所導致

      ]$ K+ b7 }* q7 _真正原因是因為每建造一艘船艦或一門防禦
    . N5 z8 e8 j3 v5 `$ Y中間沒有讓伺服器冷卻的間隔時間  i5 B0 ]4 k; j9 m# `1 C* t
    所以才導致伺服器在沒有冷卻間隔時間的情況下5 A) k+ {4 h" ~2 k6 B/ A
    無法瞬間處理大量的SQL指令與數據
    - `6 e' A4 c" }% j所以才導致伺服器出現了死當與很卡的情形發生

    ! h% t% e0 {! h: N: c現在站長將每建造一艘船艦或一門防禦的
    / E: r/ \9 }; ?冷卻間隔時間由原本的無冷卻間隔時間
    & ~. b7 f! k7 z, W6 b5 ]4 Z改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦
    ; q7 @) E& @# y3 h  f( J
    而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    5 \2 ~* t7 L  c6 j" x現在每建造1000W的船艦或防禦只需花9秒鐘
    # C! v) Y  P8 {! T4 EP.S建造2000W的船艦或防禦要花18秒鐘- ?6 F& E: c6 N" R. j. V8 `# z
    建造3000W的船艦或防禦要花27秒鐘.....以此類推.....% }. h, C1 Q4 ~, V, }
    對各位來說應該不算太過份吧?

    - T' z; W; k, L0 C$ }/ N2 r在還沒修復此bug之前; d1 X8 _1 O, ~* ^, [
    建造1000W的船艦或防禦只需花0秒鐘" m& a1 b4 _5 L( h: ]
    瞬間建造好,不用等
      M, g3 L. X: E/ @/ x3 `但是給伺服器的壓力太沉重了& [3 E2 }; ^" I* g2 Q- ~! k
    寧願稍等幾秒鐘的時間
    " `4 l& {; v& i. V也不要讓伺服器的壓力過大
    & l' v+ ]6 X7 H: @而導致伺服器死當或者很卡- E: E& w, u) P( Q) Q9 r# W
    各位說是不是?

    - y$ d4 `' Q. j9 e8 J8 ^3 \" o( E
    *對本帖如有問題的玩家
    # W& T' |9 z% Q( C! E或會員們請回帖提出9 W! A9 t# G1 J# o- }% S, q$ O5 Y( R
    站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 9771

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 8600

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大, s- o1 N, R2 L1 V7 ]" O2 O
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:11480 / 11480

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣
    6 ~6 P, ?" N; u/ b9 y8 H+ W不過我認為  h3 K  ^" N9 z
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    ' p" U" |. v5 x8 ~1 r* [  [3 G$ T2 x
    例如要造1000W回收船
    2 d1 r; g$ J( k$ ^9 |6 |根據a大的描述" \' h1 w) E% d
    大概是造一艘便要一個sql請求6 t( \2 z3 y, M: ?

    , b5 Z, Y$ K0 rquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20006 @. Q0 r5 o( ^- T& H6 C* q
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20003 N5 _' J7 A% _  v" L. T5 |1 D  y
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ( N8 u, S/ d# u# i' V& v...... (略9999996條)
    ; [# w/ ~7 {: V7 l) V6 {+ Gquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    9 y; l* Z1 Y* N# k& j0 c$ p( h, P1 K# j& j- W
    這様造一次) ]) z4 C  Y8 g% q# A" r3 U
    sql請求比運作一個月的無插件discuz論壇還多
    , F) g3 T; a  c: P9 S# n. ~當然就是虛耗資源, h; O8 C% p; M
    " t" M% @" Y9 N3 d
    但如果改成一個sql請求完成全部建造
      u4 v7 M" X; r9 E# x' z不但建造得更有效率- b3 L9 _8 R7 h
    造一次對伺服器資源使用也是近乎0
    2 s$ e7 ]% R9 _% B( V$ h4 C1 Z, K6 C: ~6 [' K% K2 M/ @( |  x- H
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    ( j- s0 l+ H' _6 q6 g7 C9 o! @( u" R5 {
    當然這只是基本概念0 g, G: Q. [$ S7 s: [
    要進行修改也有一定難度
    ' U* Z% o$ A, W4 A) {! g5 t8 k/ W* `因為這只考慮到建造時間=0時的情況8 g8 @5 o: Y/ |2 O" U
    如果建造時間>0
    & _) J; t8 E* u; t就要考慮頁面動態更新之類的一大堆問題9 u- ^! P: f5 D6 W7 ~
    只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 3950

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.......... `5 s! ~; O, K/ O- K
    我囧了
    8 G4 U2 e  \7 x- x5 y% p3 O7 w2 t1 w建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    8 W, R8 [- B* m/ g% P7 Y& j- U0 s* B( ]$ @
    之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 245

    魔法值:14128 / 14128

    生命值:5%

    升級   100%

  • TA的每日心情

    7 小時前
  • 簽到天數: 5690 天

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
    ; x& u1 J* K& p4 j3 `% C不過我認為
    & s1 r6 Q( Y! Y+ H- Z更改遊戲造船及防禦的方式才是解決問題的治本方法) B- Q1 k  m) ?

    0 @5 \# G# n, q; X例如要造1000W回收船2 R6 a8 q( |: x1 Q- {2 E
    根據a大的描述
    6 j( F5 B: P& M0 w5 w) p* T大概是造一艘便要一個sql請求
    7 M- W' e4 U* Z" \1 N$ @% @& s6 q- u" ]% p- j' E, |/ G
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ' d2 P) l0 Z0 D0 Zquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000! V1 Y6 g5 e- S1 f/ b# y/ C, Z
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
      K! u7 ]" p3 z  E/ ?...... (略9999996條): ^6 {8 C4 c; L  I- w. }
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    1 a7 E6 i4 [5 L4 f& ^! {* M0 _" u4 Z& T2 c( J6 {  d
    這様造一次
    8 ~3 C6 N4 P! k, m+ Rsql請求比運作一個月的無插件discuz論壇還多
    , r+ J* y- d) A" M, r8 k當然就是虛耗資源
    , t/ U1 i& y) q) b1 G0 v* S5 y1 G
    5 ]9 c- X; _4 f  W/ ~3 O/ n9 ^但如果改成一個sql請求完成全部建造
    7 B5 G# J$ P, o# I% }不但建造得更有效率; Z" G( ?9 \* Y) x. I  g! `
    造一次對伺服器資源使用也是近乎0

    ' M! s. [1 V8 o, z
    4 O! W& d3 V. Y, g* Fquery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    ( Z5 B- H2 D6 [, W! ?# F7 W% P. E2 D6 x8 x' R. ~
    當然這只是基本概念
    ; g  N4 w  {( q% k要進行修改也有一定難度

    3 F7 _- `3 r5 x% J, C' `+ \4 [因為這只考慮到建造時間=0時的情況
    * ^# |* g& A) V如果建造時間>0$ O) a2 q; K1 v$ w% @. T' y
    就要考慮頁面動態更新之類的一大堆問題5 Q% o6 l+ G2 _, `4 K
    只好希望未來的3.0版會作出改善! U! r& }9 q- ~: {% L% C
    b1984207 發表於 2010-12-20 09:17 PM

    5 Q4 G4 j- h1 L) @6 @  }我在遊戲後臺幫玩家代造船艦或防禦的時候
    * v* Q+ ^: g3 B. @8 X( i就是像你說的這個概念7 r( v8 K5 o* i
    只要一個SQL請求便可完成全部的代造
    9 R  y# u) I( j  W* |# q/ N) h但是要改成只需一個sql請求完成全部建造
    + _4 H, c9 c- _) m: u3 p  |; g; D4 z的難度性很大且很高. a' i; H' Z3 D
    而且有幾個源碼檔案裡的一些代碼
    7 _/ R- @5 r1 ?& |2 b- O可能甚至要全部改寫
    $ p7 u6 T. |' _- \5 @. I所花費的精力跟技術與時間不少/ B+ e9 I+ `7 f4 Q; G
    不過能找出原因與臨時解決方法- Z! p3 w: ~$ }$ f  @9 b
    已經算不錯了
    . v+ ]/ M2 n! _8 r8 ?2 H1 }真正治本方法還是交給, `4 U3 T) }4 Q  w! O0 z& V3 o
    全新的3.0版專業開發團隊
    ' G1 `6 f, ?+ f% y% R& }9 h來做處理吧, z& O& F3 }! b% i
    但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6527

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??
    ( Q" A8 e$ l& V! T2 z((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5058

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    2 w% ]$ L; {+ J! V不過我認為. |  d' z9 b3 U- {# k  _+ \
    更改遊戲造船及防禦的方式才是解決問題的治本方法; O2 D: t5 r6 Y# S; W: n
    7 B$ w1 T7 w( D! a  p  e+ E8 g
    例如要造1000W回收船8 G0 G+ u( C6 ^# U
    ...1 k& P9 N# N! {& C- C. u
    b1984207 發表於 2010-12-20 09:17 PM

    4 `+ V" M. Z, R% D你是不是想這樣) k3 f0 l+ k7 F) v5 |+ E: L8 i1 @
    假設用戶輸入傎為a6 G5 ]) r$ c8 d5 x! e! Y$ [+ W
    假設一隻回收船要一秒6 m) ?5 x$ G; x4 B
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:11480 / 11480

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯 ; H* y  ?7 T( i" X: m/ R
    你是不是想這樣
    + L1 p# q. i, t; I! W4 K# s2 m假設用戶輸入傎為a
    ) I6 e: r2 j0 p; [假設一隻回收船要一秒- a" D/ S. i0 k# @0 W: I+ v& X
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...$ w, I. H6 I! p# D" u! A
    qweasdz 發表於 2010-12-20 10:11 PM
    2 v& C6 B& s. u$ Y8 ]; ^6 q

    # J. _, T  x3 W也差不多吧, d7 K' |% c  W: V
    我的概念是這樣$ I9 T; l  W! A' r3 U! r0 a6 a  E

    8 |5 p3 B* S, w8 x! {. }完成的時間 = 現在時間 + (造船數量*每隻製造時間)
      T8 G1 t& c% l! R
    * g" k4 D! l4 z; z7 p9 X2 l$ dsql query 就這樣... (不肯定格式對不對)' _& h' Y/ M* l, j# [9 O
    INSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)
    2 u( V: c& J( F- }0 U4 [' E
    ) N5 b' G1 @. L9 }/ B. |5 l0 v然後就像你那樣減去所用資源
    / t) t; x: e, G7 {: C( i* x7 [4 k# r' W$ J& ^* _
    之後在進入造船頁面時
    * s& U& Y) s- K5 q$ k# T. I由資料表拿回資料9 q. I- `9 U  M$ f/ |
    計算餘下時間0 S- j! d$ n8 a
    未完成的話就透過javascript進行頁面動態更新餘下時間
    6 K3 _( H" d( ?; d) M直至完成
    / w8 o( ~1 i% O. n& n" v9 {完成後就在艦隊加上造好的船
    ) W( n# {/ @3 p2 u) N( V7 c然後就可以拿去開戰了...
    - o# W! ]6 N6 o' z8 R
    ; c" o1 o( j9 i% {! X9 U不過這樣做的缺點就是必須在全部完成後才會得到船* e. A- u, I, S, X: W# g
    例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0
    7 g3 I( V% T( [1 D2 G# B如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3180

    生命值: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-27 08:44 , Processed in 0.023697 second(s), 10 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

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