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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 246

魔法值:14845 / 14845

生命值:6%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:
    . H! Z( d3 C, ~. k全新的伺服器軟體與環境正式啟用) s( S8 o. T" Z1 K4 D
    這大大的減少的伺服器的負擔( Y* [0 K# P% y# v3 H6 Q% }
    因此建造延遲時間由100微秒
    & v7 K; \9 G8 p# Q6 L縮短為25微秒。
    ' P/ U. ^: t% E----------------------------------------  F, Z# n# m4 ~; Q- ]5 G$ d
    12月23日更新:" A0 M. K: D& U; q% o; b) [$ @
    站長建議各位每隔10秒鐘後再按另一次建造按鈕! A  E" R+ M! G; n0 Z- _- p! |
    這樣會為伺服器的負擔減輕不少
    ! ~* z6 l- \6 r" @2 u而各位的帳號或星球也不會出現空白畫面的超時情形。
    + {* ]6 L; O% x% c: RP.S也就是說輸入1000W按建造5 H0 H& V/ M0 z& X
    之後等個10秒) X5 p! y) p$ q6 n
    然後再輸入1000W再按建造....以此類推。
    ( R* `: W5 f* m6 D- M. I; _$ ]----------------------------------------
    7 s! w* J6 m0 H+ y% i( L12月22日更新:7 X& o8 }, e% O$ X8 x
    以下的情況只針對同時間裡* j% U1 ~5 G% l4 N
    只有一個人在造船或防禦9 @9 d7 z) t( i$ s
    才有明顯的改善
    3 \/ _5 o* V9 d* C; u, u但同時間裡且同時有' @% V% m/ {6 ^
    多位玩家連續造船或防禦3 _; K2 O; V) u- z- y
    那麼伺服器的CPU使用率
    7 W1 G+ v) L; G4 l# c2 e又會跟以前一樣是100%1 M; C4 c; g6 k$ J+ C3 h
    只有改善一點點  o7 C; Z1 I! T3 D7 b
    於是站長又將建造延遲時間
    + b+ k3 U3 |- T" W& U: Z$ D改為50微秒了+ m0 t# ?) K- u% ?5 r# n
    現在每建造1000W的船艦或防禦要花8分鐘左右的時間# e( g8 N- H6 u/ e; x6 g. g# D
    雖然建造時間多了不少
    ! v/ {, l! G, W/ u& T! ^但伺服器的負載量大幅度的減少了1 |1 a* M, M/ g5 E+ D
    且總比死當不能訪問要來得好多了吧?( T* k1 n& v- M% I
    --------------------3 o/ ~7 Q" W, \! @
    各位玩家們有福囉~
    ' S) R% C& d% \& q- m7 ]/ A5 y. G2 g$ u即日起可以不必再忍受
    9 P1 x) z( }: Y* |" G& W建造數量只有1W以及9 h  R  e8 u) z# B# ]
    還要請GM幫忙代造的痛苦了
    # B$ x+ L* P6 h, W" ~# h0 t1 C* h3 q經過站長1天的思考與研究後
    2 z+ ], ]- C. O! s, `終於發現是什麼原因
    / [) k7 o* I' x. g( E( X* x讓遊戲在造船或防禦的時候- g3 c9 K" R, M8 v2 A$ l7 [
    讓伺服器死當或者很卡的罪魁禍首了# t& X; u" Q4 r! o$ L- V
    並不是因為伺服器規格與配備不好所導致

    7 D' m4 B; k; F9 D5 A. G真正原因是因為每建造一艘船艦或一門防禦7 K' t5 K( k. z8 j  J" x
    中間沒有讓伺服器冷卻的間隔時間! x# O% E+ B* n  y# [: O
    所以才導致伺服器在沒有冷卻間隔時間的情況下* A& D# c% @/ Y  g
    無法瞬間處理大量的SQL指令與數據
    + `/ F5 I% T) X5 M/ X$ Q所以才導致伺服器出現了死當與很卡的情形發生
    " q3 [8 b( A4 U8 E' X
    現在站長將每建造一艘船艦或一門防禦的
    / ?5 q% m5 i/ |$ I# @; Q冷卻間隔時間由原本的無冷卻間隔時間
    2 c% y- T$ I& a( e0 b改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦

    4 W7 \; x( u4 l: G4 i$ ?3 G- i9 J而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    0 ^% R& H8 [, e! c現在每建造1000W的船艦或防禦只需花9秒鐘
    ; h# ^. z9 M1 f) n! y5 ?; BP.S建造2000W的船艦或防禦要花18秒鐘
    " m# l% c8 b! K. S建造3000W的船艦或防禦要花27秒鐘.....以此類推.....5 J" n# X) k0 }& r
    對各位來說應該不算太過份吧?

    . F5 W8 L" X$ K" k* N在還沒修復此bug之前
    : e: V; |6 B0 w建造1000W的船艦或防禦只需花0秒鐘
    3 Y4 t# G2 x' s3 y; K瞬間建造好,不用等
    4 P+ X/ s1 q2 A9 s4 x( g4 c; l但是給伺服器的壓力太沉重了
    8 c  M7 z; R( e( K" o* y+ H6 V; d寧願稍等幾秒鐘的時間
    : m7 T' h! D, q也不要讓伺服器的壓力過大. i9 }7 K1 \$ Y/ B% ?! k  @8 J
    而導致伺服器死當或者很卡
    5 m- b1 D) L! a+ S* H各位說是不是?

    " Q0 i7 U$ F- \" @& T
    % w  I7 Q! Z% \7 `" n8 y*對本帖如有問題的玩家( h0 d6 P! Z+ d
    或會員們請回帖提出2 E' s4 q* }) F
    站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 10239

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 9007

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大
    ) c+ w' o9 _0 o6 j2 f9 y" i辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12062 / 12062

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣
    9 C+ B- U: [% [不過我認為$ O# e) G0 J9 L) m/ F8 o
    更改遊戲造船及防禦的方式才是解決問題的治本方法; L- P1 N/ @+ _1 U

    9 r. Z/ \' D0 [. Y例如要造1000W回收船
    ' }  D( C" @8 s! v  G3 o6 E, \根據a大的描述
    0 @! e; y5 J" f, [. X& }大概是造一艘便要一個sql請求
    $ B/ q' {- q4 Z8 y6 s
    ' \) a4 h# p% Squery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20001 F. R. L* s5 y: U
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000) @- J3 y' b1 V% w
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    1 o" y# B# E/ ]0 R4 Y( `...... (略9999996條)3 p, ?) ^6 Y" N' x
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    " x7 Z; |3 E2 y" ~7 B$ R5 z( E. o! M+ q/ ^- \3 Z; @7 o
    這様造一次
    4 {$ \: w# Z0 V$ M! o. t: {* wsql請求比運作一個月的無插件discuz論壇還多* y& u: o- k* _. T  x1 {
    當然就是虛耗資源4 z' ^4 G) T2 A; y

    / J  w2 Y5 M! v6 S8 o0 Q# A但如果改成一個sql請求完成全部建造
    . I- `2 a3 [0 _: O) Y( V不但建造得更有效率
    6 K0 g! L) h, A7 a3 ]& d5 @造一次對伺服器資源使用也是近乎0
    : T& v3 L* Q- m6 T
    7 Q2 H$ }5 X4 P3 ^query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    - Q# F% P" x' F6 }- X& r0 Y: l
    & Q0 u+ y% U% N( k當然這只是基本概念
    $ T( U3 V- Q: l' v* R要進行修改也有一定難度: E3 e  F3 A1 i* J; O, \+ j
    因為這只考慮到建造時間=0時的情況# D0 x8 Z3 J0 [9 G) V4 c" \
    如果建造時間>0
    9 @6 g+ e& D3 ~, ^! N1 L就要考慮頁面動態更新之類的一大堆問題
    4 C9 V$ b5 u- \4 F* x  R只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 4150

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........' \- B3 l/ ~- b' H' O  l
    我囧了: ]# t) ~* b6 V9 j1 W. o
    建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    1 t/ K% I) G  G- y' k: N9 g) G5 E! `, l9 k* Z6 i( t
    之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 246

    魔法值:14845 / 14845

    生命值:6%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
      G2 o: V4 ^8 |不過我認為0 O9 t9 I) [. B* W7 H2 n/ b; I( R. F
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    / X& O! R% C& `& D7 f8 y" i2 D  ^1 c" V# ]& P
    例如要造1000W回收船
    8 h; J8 _) w( O  I5 i* v根據a大的描述: D8 }' f8 m0 n% `
    大概是造一艘便要一個sql請求
    $ E3 {" F/ }8 e5 ]. [! U. O) Y; b" Q- l8 c& O
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    ! L" r* @( V( F. x/ \, E' lquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000& L2 ~! S8 K1 X, G" r: W
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20007 |6 \$ u# U, v& k& {" q
    ...... (略9999996條)
    1 Z/ H% `  x) E2 |( Mquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20002 d5 A( ?( z) m

      R7 x9 X8 Q6 L* h* w9 L這様造一次% F; R: z8 F- T$ d
    sql請求比運作一個月的無插件discuz論壇還多
    4 t! u0 H* \3 A: B當然就是虛耗資源
    - j% n* z0 R  q( I0 S6 L# |8 k+ f2 B4 Y1 F/ T$ }9 j* ?
    但如果改成一個sql請求完成全部建造
    . x2 Q4 F' p! L. Q4 e3 b. O不但建造得更有效率( n- G& I4 j  m% q7 f4 C
    造一次對伺服器資源使用也是近乎0
    3 D' A% u) d) _: i( Z; b) \# {5 u6 k

    0 T0 d$ `5 G8 p6 J! k: D: Equery : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
      A  \. k0 I# ~/ G2 l: F% @
    ) \+ ^# r+ _- A# K1 [1 S8 G當然這只是基本概念
    & o  C; K, M6 c/ R要進行修改也有一定難度
    4 C" l" Y% N5 Q  M/ ^
    因為這只考慮到建造時間=0時的情況  k4 U$ N1 Q* M9 d6 F9 K' K
    如果建造時間>0
    " l: k6 c  \% ~) ^: r就要考慮頁面動態更新之類的一大堆問題  t4 x/ g% p7 |. y
    只好希望未來的3.0版會作出改善+ ]+ F1 e2 e4 f7 \2 K9 H
    b1984207 發表於 2010-12-20 09:17 PM

    8 y0 ~( J$ n: D( B1 j0 D4 {我在遊戲後臺幫玩家代造船艦或防禦的時候& I$ h- Z2 W" m3 s8 _( ]4 L
    就是像你說的這個概念
    ) M3 A! y9 R( q8 Y' R只要一個SQL請求便可完成全部的代造
    / h( [# \1 z. x% B$ z但是要改成只需一個sql請求完成全部建造: B# q) r1 H1 ~
    的難度性很大且很高0 c2 ]: S) G$ C& s: F
    而且有幾個源碼檔案裡的一些代碼
    2 p# w+ Y9 G+ f, ~' W; E可能甚至要全部改寫
    + k3 i/ ^+ h- i$ h0 _所花費的精力跟技術與時間不少2 ?$ i6 e3 |; t7 i  g/ o" ^
    不過能找出原因與臨時解決方法
    7 Z1 J, A; G8 Y已經算不錯了8 }% |% R# T$ x+ h
    真正治本方法還是交給
    " r! c4 H8 G! f$ ?: x全新的3.0版專業開發團隊
    3 Y9 x( t5 h: W% f來做處理吧
    / v# r: N. x# E# X. l' U  a但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6851

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??
    7 w6 p( z8 `' A0 f! E6 t  a3 X) o((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5311

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣' |6 {) o; {" j$ e3 q( J
    不過我認為: O; f+ G1 l0 _5 T2 T8 e
    更改遊戲造船及防禦的方式才是解決問題的治本方法5 G6 x: ]7 a1 r# Q, L
    6 g7 ^" d+ q" Y6 v& T
    例如要造1000W回收船* i$ S/ n; b5 _* {9 {' j2 @. q
    ...
    5 m1 A6 \, |) n: m4 fb1984207 發表於 2010-12-20 09:17 PM
    8 c/ z& n7 c. ]2 ?7 x
    你是不是想這樣
    1 }, }; A$ U7 a假設用戶輸入傎為a
    - }9 G/ O2 p( |5 t' M+ S假設一隻回收船要一秒: s$ r8 s2 M# `( ?" r
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12062 / 12062

    生命值: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 o. y; x5 u) ]& t, _7 ~7 R
    你是不是想這樣
    % E% t& I9 \6 @; D& Q/ b( s+ C3 J, s假設用戶輸入傎為a$ P1 B% W9 I+ ?. K: R5 G
    假設一隻回收船要一秒
    , W1 F" c, ?& C4 ]- k$ a+ l5 lquery : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ..." k) S8 r: ]3 _( t$ q5 k
    qweasdz 發表於 2010-12-20 10:11 PM

    7 Y% U* d& \9 Y- y" j6 y; z# S) P9 `) l; b2 f$ G  G+ A
    也差不多吧. ?) z' [. |8 A2 r
    我的概念是這樣7 r# q) N! i* ]* F; T

    9 O+ U! f! D5 U+ ~2 s" ^+ a+ \, V完成的時間 = 現在時間 + (造船數量*每隻製造時間)
    + M# R9 c1 W  G, c2 m4 f7 s
    4 Q' J- @' O# ^0 `' l: v5 ~+ Ysql query 就這樣... (不肯定格式對不對)
    " X! W5 K0 |: z8 U& s" g* W! OINSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)
    % T% }' P/ e3 F0 q
    0 D7 J2 \! n3 n: m! y然後就像你那樣減去所用資源
    9 v4 @4 ^( A: b! ^+ N9 |; @" F
    & [" s& @9 E% R+ B7 R6 `之後在進入造船頁面時+ Z: c" V5 v  T- N  m' n9 E
    由資料表拿回資料
    * x& t1 @4 |! Q8 u) S0 K計算餘下時間
    7 c9 p5 b* ^6 ?6 b. i0 f9 u; I1 J未完成的話就透過javascript進行頁面動態更新餘下時間
    * d* _: _4 z' p. |5 B, e, A直至完成
    " h- H- h! x8 S$ Y" \完成後就在艦隊加上造好的船
    " y; e  r  _' C+ H6 n  R! d  v  v4 C然後就可以拿去開戰了...2 r9 m: s" L8 x! H1 h8 y# z0 x( Q- L
    ( W. a* [/ j$ l9 |0 t' u
    不過這樣做的缺點就是必須在全部完成後才會得到船
    - p4 k5 d) Z/ t' u3 f) [7 x例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0
    + [5 k) i/ ]8 U4 I! N如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3342

    生命值: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, 2026-5-26 14:13 , Processed in 0.018031 second(s), 13 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

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