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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 245

魔法值:14190 / 14190

生命值:5%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:6 C4 i+ T+ I0 N; }, B" j( j
    全新的伺服器軟體與環境正式啟用
    % N, j  }  X0 p' S6 C) K) o這大大的減少的伺服器的負擔+ E6 O) Y7 F% I7 f; f+ r  {0 q
    因此建造延遲時間由100微秒
    ' I' m5 A8 k- B6 y) P; [! M縮短為25微秒。! r' ^% e( i8 J/ W) U3 I0 p2 O/ ]
    ----------------------------------------, `2 h- M* j# _4 j( s  s7 y  z3 V
    12月23日更新:
    # W- X4 @; e6 w: O站長建議各位每隔10秒鐘後再按另一次建造按鈕
    . z3 x- N6 W. @# p8 |' e( W1 ?這樣會為伺服器的負擔減輕不少
    8 I' X  B0 @8 d9 g8 @) m" t而各位的帳號或星球也不會出現空白畫面的超時情形。2 N1 K7 e8 J5 J5 F: U
    P.S也就是說輸入1000W按建造8 ^$ Z' i& [+ F
    之後等個10秒- F+ p# p% D% |7 v# }) X; t. i
    然後再輸入1000W再按建造....以此類推。6 O( p9 H% n7 Q  p
    ----------------------------------------9 m/ i# m3 G0 {3 p
    12月22日更新:0 \- B( I% j  f) ?- ?
    以下的情況只針對同時間裡% `! T# T& L0 U6 Q: x' {
    只有一個人在造船或防禦+ Y4 w5 N2 T' y$ C1 O# Q
    才有明顯的改善+ l2 {$ `5 }; z2 \0 a. [% O7 Y
    但同時間裡且同時有
    $ T' N; @# A& n; g多位玩家連續造船或防禦
    9 V) M8 Z$ d% M( c那麼伺服器的CPU使用率
    4 N# R6 Q: h. n' X又會跟以前一樣是100%
    6 X; d* Q6 {2 e. a只有改善一點點6 b0 w* D  m$ Z9 p5 B
    於是站長又將建造延遲時間
      E' x6 q+ n' O( L+ C改為50微秒了. Z3 O% o% a6 I' f: ?+ O
    現在每建造1000W的船艦或防禦要花8分鐘左右的時間
    , K! F- j$ ]7 h雖然建造時間多了不少
    ' p/ V5 n" z8 a& f: K& }但伺服器的負載量大幅度的減少了1 N( Y/ W8 _/ h, K# f# D( ?4 K
    且總比死當不能訪問要來得好多了吧?
    / q3 T2 G0 L8 c0 O( f& o--------------------
    * a0 _7 s; l' `1 e各位玩家們有福囉~" j# Z' T9 K) g+ x* ^
    即日起可以不必再忍受
    1 K9 A' N5 Z' @& G9 c, B: b建造數量只有1W以及$ i: M$ a& U* x6 U6 J- v
    還要請GM幫忙代造的痛苦了
    2 M$ x) b; Z  a' a1 {% w經過站長1天的思考與研究後. U# \. J$ F( n2 V3 H, ]  {
    終於發現是什麼原因6 j; Y8 E3 [) c: L4 Z9 ]
    讓遊戲在造船或防禦的時候6 {  [9 {7 b* K0 h( A- b
    讓伺服器死當或者很卡的罪魁禍首了
    2 B/ l5 F5 B* V, _$ d9 a) c2 T並不是因為伺服器規格與配備不好所導致
    ( p. Q6 y, \! y2 a; P7 G" `  N
    真正原因是因為每建造一艘船艦或一門防禦/ {+ _& _  d- r- B4 T4 p
    中間沒有讓伺服器冷卻的間隔時間3 d' L' ?3 O, d4 @# z( A
    所以才導致伺服器在沒有冷卻間隔時間的情況下
    # w* a4 g% g7 h6 }- }* _- l$ y無法瞬間處理大量的SQL指令與數據! p0 q& U* s5 }6 s& z9 H* f
    所以才導致伺服器出現了死當與很卡的情形發生

    ; s- b2 D. Q& z% R現在站長將每建造一艘船艦或一門防禦的# n) k- M: ^! t& N7 y
    冷卻間隔時間由原本的無冷卻間隔時間5 K  [% e: u$ E$ B. v8 j$ H( W9 |5 p  o
    改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦
    + D- C0 M5 [! @/ W. W
    而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    1 }2 s# R$ m4 W; n) c現在每建造1000W的船艦或防禦只需花9秒鐘4 m5 p1 G/ d( I/ V5 b
    P.S建造2000W的船艦或防禦要花18秒鐘1 a3 h6 M# `9 t6 h3 a) K
    建造3000W的船艦或防禦要花27秒鐘.....以此類推.....
    9 n4 j1 M* S" {+ R" [對各位來說應該不算太過份吧?

    . F5 h/ e; H; b: u在還沒修復此bug之前$ J$ u; T0 D+ L- H% f
    建造1000W的船艦或防禦只需花0秒鐘
    $ A) M6 E4 L- M  j" ^瞬間建造好,不用等
    % @1 W$ W2 _. x7 [8 A但是給伺服器的壓力太沉重了
    ) y! K3 v* G' L0 A* X. {2 O) e# b寧願稍等幾秒鐘的時間- A/ I7 ^7 N* W
    也不要讓伺服器的壓力過大
    ! I2 G; o  z. U1 Y而導致伺服器死當或者很卡, S- Y  U& C9 n/ T6 w1 K; k+ E8 K
    各位說是不是?
    6 q2 Z! ]# i" E# H, |- G( i& |

    2 f  T# T" b8 v+ i8 o*對本帖如有問題的玩家, c: r0 ^0 T9 N3 s0 D6 V7 x, ]
    或會員們請回帖提出- F3 t3 T. j6 N: I
    站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 9811

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 8635

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大7 f* L8 ]+ c5 l  y+ _
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:11531 / 11531

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣
    6 J7 j+ k2 ]8 N6 ?/ H" J* |7 L不過我認為8 `" k. N6 }' c0 i
    更改遊戲造船及防禦的方式才是解決問題的治本方法0 p9 B5 h5 }+ v7 @+ Q/ `

    % l' I) J# Z3 t1 X. |) B6 X例如要造1000W回收船5 b8 k) j' @  q6 w
    根據a大的描述
    . }# g. u% R! z3 o大概是造一艘便要一個sql請求
    & \8 n$ Q, f  Y
    / a& a  d# ]8 h6 bquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    $ m' m! ~, \! g! W: `7 Squery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000/ T" U  u* o6 k4 V* c+ U9 s9 \
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ) H6 A  i, _/ g0 a" C# `. }* r...... (略9999996條)& k- ~' D5 z* t: A! C8 H: o+ l- j
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000- e3 H5 U# Y+ s! a* F- y

    ! O: A2 P6 C$ T/ ^# _這様造一次% t3 D, n: v9 H+ N# z
    sql請求比運作一個月的無插件discuz論壇還多# F! k' J3 P$ o: R, M6 H) f
    當然就是虛耗資源  y- j- S1 q  a

    % M9 l: e: j9 m+ }  |" [( V但如果改成一個sql請求完成全部建造( r8 Z' y% c! v& Q- {
    不但建造得更有效率
    & {; x' A& X& _1 z; ?8 Z# J7 i造一次對伺服器資源使用也是近乎0. L# D2 r5 @4 s
    2 ~! z; t" G. Z$ ^; p
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000# g2 r+ n! b# }
    & Z% Z8 D8 q6 c- y: R! q
    當然這只是基本概念
    / ^' U2 [& p9 K要進行修改也有一定難度, z! C5 V( g, J7 |# k5 q5 E
    因為這只考慮到建造時間=0時的情況
    ) _, ^* R' l  R/ w如果建造時間>0* V% D1 ?0 s, n& J$ i
    就要考慮頁面動態更新之類的一大堆問題) `8 B, O- ]: n4 w" H
    只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 3967

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.......... Z) |! g. s! y& m- n
    我囧了
    . D  i  w+ u, H$ r建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    3 |" d4 x" Q; ]- t- ?9 U" G1 t/ w. v, i" x
    之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 245

    魔法值:14190 / 14190

    生命值:5%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
    , u! i% m9 C; R; h. B不過我認為' T, b6 P$ g8 g) [4 S) S
    更改遊戲造船及防禦的方式才是解決問題的治本方法; u! I/ F2 @" q
    0 o- T0 l5 ]' t( R4 j$ V
    例如要造1000W回收船
    8 R; P- I7 X6 @根據a大的描述. w1 z! u% P& L$ Z6 n- B
    大概是造一艘便要一個sql請求$ d/ }8 V9 ~: O6 p2 V2 _/ Q& q2 t
    0 F4 f' P! g3 X( [3 k: R
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    6 I' x- ]8 f7 a  k$ {2 d- ?' \; @, Pquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ( M; T8 t8 n. _3 Q- squery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000+ W8 D1 M1 o8 k
    ...... (略9999996條)/ i5 k5 A! r- e) D
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000  O6 t- L$ A+ f: ]# D* L* Z1 P  l

    " H, k* H; W4 E- u這様造一次" }$ ~2 e. T# w$ H# X5 n3 B4 P
    sql請求比運作一個月的無插件discuz論壇還多5 Y3 Y+ q( v# S3 j2 J! y" M
    當然就是虛耗資源
    % u8 Q3 i. J0 _' n) T0 r7 H' u4 j
    7 ^2 w$ k+ w  E4 [/ P) @但如果改成一個sql請求完成全部建造
    2 W3 z0 C) ~- ~' s5 K: v! O不但建造得更有效率
    ' l6 q' B% i& Y" T造一次對伺服器資源使用也是近乎0

    5 C9 c5 Q+ m: ^: K7 W
    9 Q$ C# T8 U4 q, ^query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-200000000004 d# Y  h8 D% R: ]" _+ j
    , T  f- b9 @' m8 K; @
    當然這只是基本概念
    + }  E$ r) W6 _9 D, V要進行修改也有一定難度

    # z, _: S) w( _) R因為這只考慮到建造時間=0時的情況
    ) ]: ~5 `/ P* Y如果建造時間>0
    4 J3 R% T' I+ Y6 v* G- N就要考慮頁面動態更新之類的一大堆問題
    * L' Q; [$ o* i只好希望未來的3.0版會作出改善
    . `' W! J+ \6 J( v/ {+ V: Hb1984207 發表於 2010-12-20 09:17 PM
    ; Z: J% t) j" [) d& d  I' l: \
    我在遊戲後臺幫玩家代造船艦或防禦的時候
    . x* j- v& j& o就是像你說的這個概念
    ' K0 {; r$ d- y( k# Z( ^2 q6 y9 _( ~! `只要一個SQL請求便可完成全部的代造
    . b% W( x' J8 u0 `9 F8 {但是要改成只需一個sql請求完成全部建造
    ' T9 z2 e# U# c0 V& ]" Z的難度性很大且很高, h6 p0 a7 x% i$ Y# s, z+ z
    而且有幾個源碼檔案裡的一些代碼
    : I9 D0 [  i" a# Q; ^# I8 m可能甚至要全部改寫  y1 b" t" A1 v) J' `- D
    所花費的精力跟技術與時間不少, u* r# N8 C+ K, O- b6 o8 t) j
    不過能找出原因與臨時解決方法
    0 Y+ {' x8 g/ u4 Z5 N( L9 W3 s) X- ~已經算不錯了& P" Z' D+ C7 _7 z  K: B
    真正治本方法還是交給) h2 b/ Q" f1 {" c2 K% m
    全新的3.0版專業開發團隊
    1 S& U5 I  ?( f% I來做處理吧
    8 S- }# X+ J3 q/ y但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6555

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??
    6 }% Z$ f5 b6 N9 v5 u((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5080

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    ! d( X0 Z- F! j3 m4 m不過我認為
    9 Z/ k4 T' K1 P$ N# z3 |更改遊戲造船及防禦的方式才是解決問題的治本方法8 Y7 x6 u9 j0 l0 c& y4 s! Z

    / m- \, b% \: X$ o例如要造1000W回收船. y0 ?6 k" `  u) i& G. {
    ...3 J2 J. O8 W* G+ X/ @9 r
    b1984207 發表於 2010-12-20 09:17 PM

    4 _8 i; S( W. A0 }; T! g' I你是不是想這樣
    ) {  ~, \$ h. X/ G  k假設用戶輸入傎為a+ X$ l# f& x: a; {5 d) p/ B
    假設一隻回收船要一秒$ Y3 s0 |/ W' O7 l7 v
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:11531 / 11531

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯 1 h1 G( y6 o# \, W: X! b4 _1 l
    你是不是想這樣: P. `4 _& U4 T# l: O) T
    假設用戶輸入傎為a
    " V7 r+ s# Y  R$ b, U6 Z假設一隻回收船要一秒
    5 U- J0 v  q8 |: \# O! G. o9 lquery : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...1 a& f+ n. e  {, E# d
    qweasdz 發表於 2010-12-20 10:11 PM
    1 y/ e% [" W: S
    ; ^' L  h$ c/ O, I; J( C
    也差不多吧
    ' g( ^/ h3 ^8 Y0 B( F0 g: G我的概念是這樣
    1 x3 x; R$ C+ F, D" D9 w, H; D2 a: K+ u/ }& \* T- B
    完成的時間 = 現在時間 + (造船數量*每隻製造時間)
    $ J) `( D2 c' Z9 W4 N- `8 Y7 x& U, b! X
    sql query 就這樣... (不肯定格式對不對)
      L$ q* X  M; n" b0 O) o5 U: tINSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)
    1 ]3 H. Q6 D3 {- Y6 {; l8 I
    ) }+ l7 g) R# c5 \& n7 D6 u1 r- i  B然後就像你那樣減去所用資源
    : J% \, N% @/ X  H3 j7 g& T
    " O1 x+ W% x: ?0 z之後在進入造船頁面時1 ?4 y& A1 I& i0 K
    由資料表拿回資料3 ~5 q$ D, I4 S9 S$ M$ B9 d) s# {
    計算餘下時間
    1 y: d9 V# z+ b& M未完成的話就透過javascript進行頁面動態更新餘下時間/ N! J6 ~" f3 d2 P) E% o% F
    直至完成
    2 P- V9 Q* C; T6 u  w3 i完成後就在艦隊加上造好的船. T/ v2 D8 H* W. D5 r
    然後就可以拿去開戰了...
    0 p( D- @6 C( }/ r& F
    6 X4 ~) H4 ]4 `" _" C! `" W不過這樣做的缺點就是必須在全部完成後才會得到船# `# O0 a$ c/ K; N
    例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0
    8 z1 ]+ V+ q4 Z9 D# C% j' v$ i5 o如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3194

    生命值: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-9-19 20:00 , Processed in 0.029093 second(s), 9 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

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