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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 244

魔法值:13401 / 13401

生命值:4%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:  B& _, ]$ w9 O7 D3 N, L, ?: L
    全新的伺服器軟體與環境正式啟用$ }) M+ t& w& J
    這大大的減少的伺服器的負擔4 G7 l9 {1 M! g
    因此建造延遲時間由100微秒
    " y/ N' S6 u; F' y$ }/ [4 c( D縮短為25微秒。) {  W7 [$ `' z3 V
    ----------------------------------------
    9 \' e' R/ U# ~8 Y5 e7 I12月23日更新:& t& y8 F" T, H+ V
    站長建議各位每隔10秒鐘後再按另一次建造按鈕
    3 K" {$ Y6 X+ W' C2 u這樣會為伺服器的負擔減輕不少: a+ B; O0 C& Q6 ~: k0 H
    而各位的帳號或星球也不會出現空白畫面的超時情形。
    5 X% T6 E- N$ C: oP.S也就是說輸入1000W按建造9 w3 ?! J3 P4 s" `  _5 A6 ]* F. M, w
    之後等個10秒: _: F* Q. c$ i" Q! E1 e, T5 E
    然後再輸入1000W再按建造....以此類推。- m" b. e3 }9 |: e2 o3 \& k. ~
    ----------------------------------------
    2 {; E6 b( v0 y4 ?" l5 b12月22日更新:
    $ H, H! O3 L/ r: c0 z以下的情況只針對同時間裡$ Z  |4 i0 ~% v! j
    只有一個人在造船或防禦$ ?: H8 a: p4 J' w! h% \; Z
    才有明顯的改善) R* M, K5 z: f# S. ^
    但同時間裡且同時有
    + O- z! N( @) A+ ]- a. f; a  s- q8 a多位玩家連續造船或防禦0 r1 A  O4 d# _4 {+ s/ V+ B9 _/ [$ J
    那麼伺服器的CPU使用率
    / p" b! W! X0 O  F又會跟以前一樣是100%
    3 c# Z4 Y8 U3 N" B5 l- A) g) j+ `只有改善一點點
    + V* o$ @0 r# j+ B於是站長又將建造延遲時間" L' {0 U$ f4 L) m
    改為50微秒了
    . {* N2 Z$ o5 h/ N- Y  T現在每建造1000W的船艦或防禦要花8分鐘左右的時間8 U5 I1 v4 P8 ?- [2 f
    雖然建造時間多了不少
    8 E3 y! R. r+ ~% ^但伺服器的負載量大幅度的減少了
    8 M# M+ ~) E& v且總比死當不能訪問要來得好多了吧?
    7 C" D2 \7 [  ]8 u! P1 K# p--------------------% u+ P7 D2 s* {- h6 I' [
    各位玩家們有福囉~- v- Q2 c" I  y: D; @
    即日起可以不必再忍受3 E' D" T1 ?9 o2 [) h
    建造數量只有1W以及
    ! n/ o* K6 F" c9 n: a還要請GM幫忙代造的痛苦了
    8 P- t  `" W1 V( ^經過站長1天的思考與研究後- d' q% x* u$ A4 {
    終於發現是什麼原因
    " ]( }+ [3 S5 U/ h1 V5 b: o' x讓遊戲在造船或防禦的時候; o+ K; j$ ?- i1 ]4 S" R
    讓伺服器死當或者很卡的罪魁禍首了3 e* y* W) @8 h' n  c; X6 ?
    並不是因為伺服器規格與配備不好所導致

    7 ~7 i# Y# I/ p+ \8 s; s% x真正原因是因為每建造一艘船艦或一門防禦$ q: [0 }3 T1 N+ r4 J) y
    中間沒有讓伺服器冷卻的間隔時間
    & P- f  M  @$ C- A6 ^所以才導致伺服器在沒有冷卻間隔時間的情況下
    , n9 x, ^" P# W1 P, V( U' A無法瞬間處理大量的SQL指令與數據
    5 s0 `9 X$ A) c4 A6 H所以才導致伺服器出現了死當與很卡的情形發生

    & q3 _& w7 I$ Q5 [) J4 x4 y3 o現在站長將每建造一艘船艦或一門防禦的; A3 C% z* N4 E$ G1 W6 H# X
    冷卻間隔時間由原本的無冷卻間隔時間& A+ a. O, k9 ?* [9 C; ?+ l
    改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦

    6 M0 ~( O3 ]4 K而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了
    7 v2 X) l& O' @$ f* j* m  v現在每建造1000W的船艦或防禦只需花9秒鐘: Y$ P  ~8 W# `3 L4 b
    P.S建造2000W的船艦或防禦要花18秒鐘" B, Q3 H4 y: \4 G& E
    建造3000W的船艦或防禦要花27秒鐘.....以此類推.....$ u$ ]' Q8 @- `: r/ a) L
    對各位來說應該不算太過份吧?
    & Q, ]0 s; w4 X- M2 @7 |/ C& u: G& b
    在還沒修復此bug之前
    - e1 t# `7 ?3 A' |  ~/ i8 \建造1000W的船艦或防禦只需花0秒鐘3 `- Y. z! K3 V- Q0 p1 e3 N2 h
    瞬間建造好,不用等2 R. }% M. A( Q5 T# K6 D
    但是給伺服器的壓力太沉重了
    ( X6 G6 z! G& H5 |9 Z! d! n5 h寧願稍等幾秒鐘的時間( g8 y( V! G& a! f6 \
    也不要讓伺服器的壓力過大
    / }5 j' j2 v' N0 d/ E而導致伺服器死當或者很卡
    & W& D8 Y& ]: N2 u( f各位說是不是?
    ) s5 l5 ~& L/ ~) |1 I
    ; G- S# V" M0 C! T% t, F
    *對本帖如有問題的玩家# n! M/ Z. Z/ m8 M
    或會員們請回帖提出: M1 A: ]' @3 Q; y0 f
    站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 9295

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 8185

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大  U+ x: e* Q, L8 V
    辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:10888 / 10888

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣8 S6 C3 j" O- ?$ I4 N2 }
    不過我認為
      W) I: z: K4 C更改遊戲造船及防禦的方式才是解決問題的治本方法
    9 S+ @6 Y1 [4 y- j
      M# `/ J3 O" ?1 t: U9 _: S& ^! e例如要造1000W回收船% V2 q* C# W/ ]7 W
    根據a大的描述
      |- }$ _+ T9 u大概是造一艘便要一個sql請求1 i# y" N8 R& N3 S$ b/ O  C  H3 h* t

    3 C" b( c# `" U4 d' Q9 wquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20006 f! d  V% V" Z9 a
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    * I$ `9 {# u7 @% r5 b4 Iquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    - N* L& _- P6 x3 _...... (略9999996條)
    - Q6 g: J* b' R+ w8 rquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000# w/ l/ l) ]! p9 ^- O4 g, x: K

    5 X' N- n& D' M+ {  D, l% R這様造一次4 V# |- P: C+ }* Q# ?" K' `
    sql請求比運作一個月的無插件discuz論壇還多. L/ ~8 `6 n. v* t7 z4 D) m: A
    當然就是虛耗資源
      c# x- c( B! \+ J/ |8 s$ i+ j9 b% O2 B: s* n0 p2 F2 N( ?$ n+ M
    但如果改成一個sql請求完成全部建造
    / `: G. w! M, B% S不但建造得更有效率$ d) E- P# I  k% L) u: j
    造一次對伺服器資源使用也是近乎00 L+ q; M2 ?' C; M( r
    - W: `; F1 b- C+ o) Q2 C% W
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    0 K: a& P: Z3 j; ~; M: Y2 ^8 w% D5 W7 F- b8 |
    當然這只是基本概念
    : @3 _4 ?4 T* \5 a1 C. ]2 F要進行修改也有一定難度4 i4 Z" m1 [" _1 m
    因為這只考慮到建造時間=0時的情況
    8 T& `; _' [7 L8 A* q2 a9 x9 M如果建造時間>0
    & m' R; ~' S2 F* U就要考慮頁面動態更新之類的一大堆問題' p1 x& `) c( l1 U5 q
    只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 3746

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........
    2 _- _8 b  ~6 q7 L. z/ j6 P我囧了9 X+ W& W5 C( e0 [; k' ~) [
    建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了
    4 X6 v$ N- L5 }) g1 W' J" k; q6 F- M6 `# Z! A3 R$ N0 q. G. o
    之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 244

    魔法值:13401 / 13401

    生命值:4%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
    # z' E/ f. Y( o9 K1 S- O9 |不過我認為; ?8 ^9 {: I- N1 o9 V
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    : i: Q1 C+ s  a% y/ o5 ]# D
    ) T4 q  ?* M; b7 q/ {例如要造1000W回收船4 Z' g& L( D& P% k
    根據a大的描述# b) `$ t  E" m$ ^% P; G4 q3 r# E4 T
    大概是造一艘便要一個sql請求% C9 ]2 i, A! l, @$ k& n
    8 z; a% z4 h' n
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20009 M3 S1 D/ d/ `* {
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000# k' ~8 @( c* G4 Q" U' b
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    % `- H4 Y5 V  }% u8 W/ ]...... (略9999996條)
    . ]: w, ~3 p4 Q4 H6 N4 n7 {3 k% c& bquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000* e5 d; b( q+ |

    $ @6 G9 m! p: V" ^. J這様造一次
    . G  c; N7 T% l3 Hsql請求比運作一個月的無插件discuz論壇還多
    + a7 p( R5 W& @8 N: z9 q當然就是虛耗資源8 p$ `# _( [6 J! E0 Q1 k/ t

    7 G  Z0 C3 M0 G' e1 A) K# y& w但如果改成一個sql請求完成全部建造/ Y- l( M+ X: A9 `
    不但建造得更有效率' T! l  R/ A2 s* i+ W1 U
    造一次對伺服器資源使用也是近乎0

    & |' I( V; _, P) z5 q7 Q1 T, F& X* ]: }8 S5 p" X
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    ( ~/ d9 N  N5 W+ O
    : ~" S9 O: P7 {4 z. L+ z' u當然這只是基本概念6 H0 A/ e2 T: t
    要進行修改也有一定難度

    . x' F; a* }! ?& M) f4 i! _因為這只考慮到建造時間=0時的情況
    ; ~( s7 S; d# @  J" n如果建造時間>0
    0 Y% `1 N8 l( U: m. j就要考慮頁面動態更新之類的一大堆問題; m, U- r* C; p9 E$ e% x
    只好希望未來的3.0版會作出改善
    1 ]4 e, u; l. h. bb1984207 發表於 2010-12-20 09:17 PM
    : O; u" r8 J8 {% l1 }! M
    我在遊戲後臺幫玩家代造船艦或防禦的時候
    % x5 w9 S* Z/ V4 P3 y就是像你說的這個概念* k3 L7 O6 @  T3 t8 r
    只要一個SQL請求便可完成全部的代造
    8 Q3 m8 N2 I6 K6 @$ }6 v但是要改成只需一個sql請求完成全部建造8 |9 e; E) q, y' u) ^
    的難度性很大且很高  ?0 f) s* z2 U: l& N
    而且有幾個源碼檔案裡的一些代碼2 o& S, x* Y$ ^. E
    可能甚至要全部改寫
    " {% Z, |7 }+ E所花費的精力跟技術與時間不少# J* l) U  Q6 y* ^7 Z; W
    不過能找出原因與臨時解決方法" }! J& m7 ~9 s* J+ f. B- ?
    已經算不錯了4 q$ y" s& w' g- Z9 r
    真正治本方法還是交給* h0 b, z* P) P5 R5 A& T
    全新的3.0版專業開發團隊$ m" C7 o9 {+ B- z) S& a$ q( v, d
    來做處理吧
    6 Z+ R' R0 F$ R# ^" b) a但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6197

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??
    6 ^) y0 d4 Y7 X; U. u$ }7 Z4 K) r! v((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 4801

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣
    ' E# U: T, ]9 K' @2 r. k, o; H不過我認為: W/ _2 y4 d( f- J& H. k
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    2 E6 [; T, l+ ^- {8 k1 o! D! [% X; l$ x! h; W% W. [
    例如要造1000W回收船
    9 G6 _1 S- y" Q- n5 s ...3 n& O+ w4 D) g8 @
    b1984207 發表於 2010-12-20 09:17 PM

    : W: @  I, S. b( H( J1 \! z你是不是想這樣
    & c0 {, \# \7 g假設用戶輸入傎為a
    4 _* {  L2 c, P; b6 y9 a假設一隻回收船要一秒5 Z0 ~, r. M) O; A; C, i$ g
    query : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:10888 / 10888

    生命值: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 [) g; i4 u/ T" X0 Z! R# K% ?( Z
    你是不是想這樣
    # w0 ^6 s0 Z2 `4 e7 }6 V! }, W1 b: B; h假設用戶輸入傎為a. i" x/ C9 t$ `* i1 S( N1 z
    假設一隻回收船要一秒
    , A2 d1 `, C. |  n6 Nquery : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ...
    6 P: F1 R% J) e" P( w! iqweasdz 發表於 2010-12-20 10:11 PM

    # H. [7 c% f- X" ~; i$ \' U- m2 x$ K' u: d7 [
    也差不多吧
    4 K$ j2 R& J0 `我的概念是這樣: M. Q1 ~9 H" _. P) C; a) l  g2 j
    2 U2 ^0 Y) A# T! c
    完成的時間 = 現在時間 + (造船數量*每隻製造時間)
    * `6 |  k; w! Q; ^9 U1 q+ J. C  N3 g- F* D- b2 Y
    sql query 就這樣... (不肯定格式對不對)
    $ P5 h$ K3 B2 S% TINSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間): F# N  `1 O9 u, j9 ?: B* `) J6 n

    4 L% G9 E- a  v然後就像你那樣減去所用資源! T2 q# c  z! j, }6 ^

    5 E2 F" y7 c( `1 h; i! U之後在進入造船頁面時
    9 y# ~* Q4 t  k. O. |由資料表拿回資料
    0 e5 w; l6 I5 Y+ e# v計算餘下時間
    " h# p" W$ o* s7 z3 l! Q* _未完成的話就透過javascript進行頁面動態更新餘下時間) t/ U/ s' F" t$ b6 ^/ _
    直至完成3 l; x, `4 j4 B
    完成後就在艦隊加上造好的船0 h; ^4 X9 u: P0 m7 Q* C
    然後就可以拿去開戰了...
    2 K4 w5 E" _  Y3 B6 v* j5 s
    8 u0 p( ]! e2 c# E不過這樣做的缺點就是必須在全部完成後才會得到船" L. @) q) N! |% A2 ~) N) y
    例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在03 z$ s/ R. b% Q  i0 A* l! }% U
    如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3016

    生命值: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-11-23 01:19 , Processed in 0.011211 second(s), 11 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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