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

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

  [複製連結]

等級:25 - 爐火純青

經驗值:0 / 246

魔法值:14981 / 14981

生命值:6%

升級   100%

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

    [LV.Master]伴壇終老

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

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

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

    ×
    *01月08日更新:
    9 `* H% c; ^; a全新的伺服器軟體與環境正式啟用
    0 t* v$ O  }1 w) N. c; G這大大的減少的伺服器的負擔
    2 p5 E2 J' D7 B& x. y6 V) A/ l因此建造延遲時間由100微秒/ G4 F, Q1 F& {' G7 N& b
    縮短為25微秒。2 v7 u1 d. _# S& T3 _6 \& U, B
    ----------------------------------------5 O: a4 _8 M3 x1 a! \
    12月23日更新:$ m! P' @. ?, M1 K# M- r
    站長建議各位每隔10秒鐘後再按另一次建造按鈕
    / d0 k3 S" M6 O3 O5 u: F這樣會為伺服器的負擔減輕不少2 }2 u  Z8 z. g3 u. D# |, I" a3 w0 U
    而各位的帳號或星球也不會出現空白畫面的超時情形。0 {2 ]0 L9 b9 T4 u$ ?$ r4 b+ q
    P.S也就是說輸入1000W按建造1 E& s$ d& t' ?( i4 {
    之後等個10秒+ z# T8 p  W/ k1 i0 L( c( a
    然後再輸入1000W再按建造....以此類推。
    ; {$ }+ ~1 L$ t4 _----------------------------------------
    5 B' m# m$ p+ {3 i; u12月22日更新:( g$ o6 @7 ~& ]/ a# F) b
    以下的情況只針對同時間裡; D9 f9 Z- ?2 V3 q8 z) E
    只有一個人在造船或防禦
    ( ?* k: |$ q' h% C* |2 y才有明顯的改善0 n  Q4 E' ~4 ]
    但同時間裡且同時有+ I; D6 U- Y2 R4 G! H9 B. K9 i: Y+ k
    多位玩家連續造船或防禦
    9 I5 }9 u* j4 B/ }0 ]& _那麼伺服器的CPU使用率8 s& j2 s; O' |* }  v% p
    又會跟以前一樣是100%
    & u, u3 O$ p6 L只有改善一點點
    4 X$ J- ?0 ~. L/ V( b6 E於是站長又將建造延遲時間4 `' _$ h7 y3 I0 u6 ]5 B
    改為50微秒了
    ( r9 _; J9 ]9 Z: r' H現在每建造1000W的船艦或防禦要花8分鐘左右的時間
    ; Q& R# G$ i3 X- t9 l5 Z# q, F雖然建造時間多了不少
    1 ]8 w; [! L# I: |; D0 Y0 M4 e# Y但伺服器的負載量大幅度的減少了( [4 V$ A7 s+ H
    且總比死當不能訪問要來得好多了吧?
    2 h' a" _' w3 c3 F! E--------------------& X! s- W5 k- T4 i0 I
    各位玩家們有福囉~! K" b1 e* A0 k2 W0 x- ?
    即日起可以不必再忍受9 X" Q8 S- ~6 P% U# P
    建造數量只有1W以及
    + U8 J1 A  v6 q2 e8 S還要請GM幫忙代造的痛苦了! G3 R7 I4 g+ M' P% v- ?
    經過站長1天的思考與研究後
    + p: o8 r* D( B6 [  p5 E/ F終於發現是什麼原因
    ; c' |! v: R/ s( D讓遊戲在造船或防禦的時候
    2 h, D1 r; @) N: e讓伺服器死當或者很卡的罪魁禍首了
    0 H) w7 P: f4 M  l8 r. w並不是因為伺服器規格與配備不好所導致
    , ^  n3 s. j7 |  q
    真正原因是因為每建造一艘船艦或一門防禦2 ~* M" l. d) [8 L1 _. Z0 w+ ~
    中間沒有讓伺服器冷卻的間隔時間
    ) D  F7 Q: F, |  p" ]所以才導致伺服器在沒有冷卻間隔時間的情況下+ u4 D, W; E5 Y9 _. b3 S# T9 n4 `
    無法瞬間處理大量的SQL指令與數據  s+ o, S! y7 U. H- w
    所以才導致伺服器出現了死當與很卡的情形發生
    # p  |9 a3 P) R+ @: ]
    現在站長將每建造一艘船艦或一門防禦的2 C) }3 ~8 K3 f& e) O6 k
    冷卻間隔時間由原本的無冷卻間隔時間
    # @( ~, J5 Y2 B改成了每隔''100萬分之一秒(1微秒)''才建造一艘船艦或防禦
    ' [9 C/ K" m+ h; D( v8 G
    而且站長也將100B和1000B服的最大建造數量改回原本最初的1000W了) B/ i' C' F2 h& G9 @# t
    現在每建造1000W的船艦或防禦只需花9秒鐘$ g# k: M# Z2 {3 p9 r4 H
    P.S建造2000W的船艦或防禦要花18秒鐘
    / }! ?; J3 H9 L) q! I建造3000W的船艦或防禦要花27秒鐘.....以此類推.....( u1 H7 V/ K  I1 b! F9 J0 }
    對各位來說應該不算太過份吧?

    , y  I" ^! u$ f在還沒修復此bug之前
    * L4 s* }$ [, |) _' q$ A建造1000W的船艦或防禦只需花0秒鐘
    4 [. y. F, p- u! r0 {+ M4 V' ^瞬間建造好,不用等
    % `: j) a6 c+ C8 m2 G但是給伺服器的壓力太沉重了2 G- I: r1 Z" k: y; _' ?+ Z! v
    寧願稍等幾秒鐘的時間
    " d/ B: x: E; N3 q也不要讓伺服器的壓力過大# y& Z) J+ v- y5 i% n9 B2 A* D
    而導致伺服器死當或者很卡
      o& j0 d+ Q9 ~2 ^各位說是不是?

    ( j* J' b/ t! j
    1 v7 p, {  f* s) L*對本帖如有問題的玩家
    5 H) T. _, T6 |1 _或會員們請回帖提出" H  M6 ~4 n. ]8 _7 V
    站長看到後會盡快做回覆!!

    文章的最近訪客

    等級:18 - 已有大成

    經驗值:0 / 171

    魔法值:4639 / 10327

    生命值:1%

    升級   100%

  • TA的每日心情

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

    [LV.3]偶爾看看II

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

    等級:15 - 融會貫通

    經驗值:0 / 149

    魔法值:2457 / 9084

    生命值:9%

    升級   0%

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

    [LV.4]偶爾看看III

    發表於 2010-12-20 20:56:23 | 顯示全部樓層
    謝謝A大
    & R; z! Q9 Q/ K( t3 @% M/ `$ X# v辛苦你了~

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12172 / 12172

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:17:29 | 顯示全部樓層
    原來問題的原因是這樣
    " t1 l5 }0 D) W8 b不過我認為6 y0 l, M$ F* e1 W( Z  [" m
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    9 ^- l: T# ]. ]7 c& ~; k
    : l* \  a+ |. a; L% p% F+ N例如要造1000W回收船
    . ^( A- a  V) I& \7 r7 m2 Q根據a大的描述
    4 w0 v' Y1 X. p* ?% ^大概是造一艘便要一個sql請求7 B# E4 |4 _% l; A( f, U& Q

    8 O0 `( m! [. W& I$ i" K- Z! W  lquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000
    6 @/ c% f4 h! S/ Cquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20006 b. s; x2 t  {7 f% Y! }8 ^
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20000 m! I: |' _5 U* o
    ...... (略9999996條)7 V/ p1 D( n8 \' ^- J8 R- y
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20007 _( O! m% t& o4 P( i
    . l; X$ H0 A/ d2 M! M' }* V
    這様造一次
    9 u8 z6 ^% ~* G2 J3 Y- ~, \3 @sql請求比運作一個月的無插件discuz論壇還多
    . {. N( ?8 N* d$ t% O; W  G當然就是虛耗資源+ {5 i2 m; t3 q- \
      j8 M8 F) K2 T, M
    但如果改成一個sql請求完成全部建造
    9 e4 T2 ~% w' o# k不但建造得更有效率9 g* J! I- m: o5 e  @! l- D
    造一次對伺服器資源使用也是近乎0
    ) Y& @9 u) I$ q: V. h4 f1 Z% Z" r: ~: A, b/ ]* R+ C
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-200000000006 T$ ?6 C+ j' E) _
    / K; l( H  Q! O) [- d8 i/ D  S
    當然這只是基本概念
      @" o  j1 z" v要進行修改也有一定難度
    2 J1 V. {& s) s7 E! d2 u因為這只考慮到建造時間=0時的情況! T9 X- W" V. r3 i4 v& f! V
    如果建造時間>0: E7 i& J( U) y0 L6 c! f" q( e6 K
    就要考慮頁面動態更新之類的一大堆問題
    " x0 @4 w* h$ m; S- ^只好希望未來的3.0版會作出改善

    等級:8 - 駕輕就熟

    經驗值:0 / 73

    魔法值:171 / 4188

    生命值:3%

    升級   3%

    該用戶從未簽到

    發表於 2010-12-20 21:38:25 | 顯示全部樓層
    今早我只能一次建9999只船.........; f( R' Y# ~# o1 W
    我囧了
    # f+ s) o0 f9 G  r. r建10.000.000要按多少次ENTER才可以......(1001次啊!!!!手軟了7 I+ N9 W3 S6 Z3 ^2 Y

    0 v4 g+ q1 A  L& H' M1 P, H/ V$ M之後現在改到9999999我爽死了....(2次而已.....

    等級:25 - 爐火純青

    經驗值:0 / 246

    魔法值:14981 / 14981

    生命值:6%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 21:40:29 | 顯示全部樓層
    原來問題的原因是這樣
    % J. I# T# X5 j6 w- ]/ p8 H不過我認為) f$ D0 S4 g% c' o- D
    更改遊戲造船及防禦的方式才是解決問題的治本方法
    " Q0 O: s7 w- c5 [$ j2 T5 H, H- D& v& H
    例如要造1000W回收船; y6 s0 J5 ]8 Z
    根據a大的描述
    * @/ w1 ?( r9 `3 ]: c大概是造一艘便要一個sql請求
    & n0 o* }/ o& @& E% k7 b
    . G5 D* m; ^, Y( P: a- Hquery : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000  I5 q5 V3 l6 Q/ w
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000% o6 C6 q) @7 F; w7 D% |( F
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-2000, P' r; z  g; z/ }2 N2 E" S4 p
    ...... (略9999996條)" u$ _% q4 A8 Y
    query : 回收船+1, 金屬-10000, 晶體-6000, 重氫-20008 j' d/ {. ]* V8 t
    : G( k" O! N6 N% h
    這様造一次6 q' L' n- S! I3 C
    sql請求比運作一個月的無插件discuz論壇還多  Y! k8 z: F6 ~$ @9 R" |
    當然就是虛耗資源) ?4 S# {/ R' i- ]
    2 ]' A! }+ m) K
    但如果改成一個sql請求完成全部建造
    0 P3 d2 D" u( Y. t$ w+ z+ T不但建造得更有效率' ~; [- |* z3 z9 K, a
    造一次對伺服器資源使用也是近乎0

    & _8 h7 Y$ W4 O( e5 v: Y# B1 B5 c% W1 u8 \5 N
    query : 回收船+10000000, 金屬-100000000000, 晶體-60000000000, 重氫-20000000000
    ) {+ M$ `/ a) s; e3 `+ A8 B3 H& a9 x4 F6 d! S
    當然這只是基本概念7 W- O; ^) `. W2 L9 A% U: l
    要進行修改也有一定難度
    : B/ O7 f7 D$ g9 F
    因為這只考慮到建造時間=0時的情況! l2 F3 j4 q) ^7 u+ j
    如果建造時間>0/ \% h! r# x( [3 {# m
    就要考慮頁面動態更新之類的一大堆問題) O+ L# {0 S& P
    只好希望未來的3.0版會作出改善4 f# m& U" R; ]( b; v
    b1984207 發表於 2010-12-20 09:17 PM
    , [: L9 j* u2 I" v6 T3 T
    我在遊戲後臺幫玩家代造船艦或防禦的時候. j) s, [+ ]+ f2 Y3 F
    就是像你說的這個概念
    , C8 [+ I4 h- i) b( w只要一個SQL請求便可完成全部的代造6 ~: U5 @* O4 H- r
    但是要改成只需一個sql請求完成全部建造' q, k% J. i, R7 L/ K( N% [; w
    的難度性很大且很高$ X7 Z: j0 z" s5 Y. ^) g
    而且有幾個源碼檔案裡的一些代碼
    2 }8 {" c8 l$ J1 _/ L! v2 z可能甚至要全部改寫
    # l2 F1 ^8 d) S! _1 _% h( u所花費的精力跟技術與時間不少
    , A, x! L5 A/ }0 `0 {8 W不過能找出原因與臨時解決方法
    7 y* s8 z0 @) }( h. I0 |- Q7 f  {1 W已經算不錯了: ]0 [! {4 f. J. S
    真正治本方法還是交給
    ' \& S# N8 W, A0 l全新的3.0版專業開發團隊. {9 V, A* Y9 a( F7 \( ~( R" H5 p
    來做處理吧9 |' N+ I6 n" D. L( ^
    但3.0版最快可能要等到明年的春季才會發布。

    等級:12 - 出類拔萃

    經驗值:0 / 119

    魔法值:942 / 6913

    生命值:9%

    升級   91.4%

  • TA的每日心情

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

    [LV.6]常住居民II

    發表於 2010-12-20 22:03:07 | 顯示全部樓層
    那現在還有代造服務嗎??3 S3 Z; u3 q! {( Z; X
    ((沒有很多時間點的人

    等級:10 - 出類拔萃

    經驗值:0 / 92

    魔法值:373 / 5359

    生命值:2%

    升級   5.95%

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

    [LV.1]初來乍到

    發表於 2010-12-20 22:11:06 | 顯示全部樓層
    原來問題的原因是這樣2 G6 A2 K0 e1 O' o' n" R+ v/ S  n  k9 G) d
    不過我認為4 A- S; _" g9 ]+ O. k) t  L7 `
    更改遊戲造船及防禦的方式才是解決問題的治本方法1 ^. Y# \8 w  a% d' N
    ! W% x1 N0 x5 l% X) f5 d
    例如要造1000W回收船( w! U0 _7 }* Z" S
    ...
    9 |- C) i% I1 S) mb1984207 發表於 2010-12-20 09:17 PM
    $ m! T( M3 `' u' G" Y
    你是不是想這樣
    % Q0 q* }* R6 }# F  s假設用戶輸入傎為a3 G& N% H! {% i# I- H
    假設一隻回收船要一秒
    0 T. `! q8 Z. C; @4 mquery : 回收船+ a, 金屬- 10000*a, 晶體- 6000*a, 重氫- 2000*a 在1*a秒後

    等級:22 - 爐火純青

    經驗值:0 / 213

    魔法值:12172 / 12172

    生命值:3%

    升級   100%

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

    [LV.Master]伴壇終老

    發表於 2010-12-20 22:39:35 | 顯示全部樓層
    本帖最後由 b1984207 於 2010-12-20 10:49 PM 編輯
    ' i' k: a$ V* s& ^4 ?$ [
    你是不是想這樣
    # T: c# Q2 K% e+ m4 b/ X假設用戶輸入傎為a, R. j  E8 ]9 J! M+ F7 N3 b9 X
    假設一隻回收船要一秒
    * U/ Z0 f0 ]2 e$ |. Dquery : 回收船+ a, 金屬- 10000*a, 晶體- 6000* ..., C# O3 n9 m4 X, [! v( @; H5 X
    qweasdz 發表於 2010-12-20 10:11 PM

    / k. M0 F* [# l0 o! _
    8 V8 W6 p. _% }: y) Y, w也差不多吧
      h% K, t$ D/ T9 Q) ]我的概念是這樣
    4 c* J# E" a9 A# {, N5 d
    5 d) l2 c; {  r! |) S1 B完成的時間 = 現在時間 + (造船數量*每隻製造時間)4 X" v' i* \; q; p/ n
    5 p* \. z. _8 N5 ], [. `: w1 {2 Q
    sql query 就這樣... (不肯定格式對不對)- A0 M* C1 d1 _8 d
    INSERT INTO 造船的資料表(用戶ID,數量,類型,完成時間) VALUES (id,10000000,回收船的代號,完成的時間)
    ; L5 J; s, J2 N) Y+ e* u7 A$ o2 m0 [! T% _7 D1 e$ i: Z
    然後就像你那樣減去所用資源7 Q7 x) Q7 f3 H9 J
    7 ]/ p* D/ Z  T& i. q, n
    之後在進入造船頁面時
    ' v$ L% N8 d; n: v1 d# J" x由資料表拿回資料
    $ z# [1 [0 e! b  W- s9 z) G計算餘下時間, ]: ?+ ]8 T3 ^1 T- h* ^+ G3 S
    未完成的話就透過javascript進行頁面動態更新餘下時間
    # V7 f2 |& ?. R$ S- Z- ]. I8 A0 D直至完成
    : g  o7 `4 C+ [; u2 P% l# {5 j完成後就在艦隊加上造好的船
    * k  p& ^8 P5 O$ h0 G% d然後就可以拿去開戰了...
    ! b. E7 v, N) h( n/ P: Q( C/ t8 T- ]8 b+ u% _8 Q
    不過這樣做的缺點就是必須在全部完成後才會得到船; V6 K  \+ n/ p4 t( l0 g# ^
    例如一隻一秒, 造3600隻, 就會在1小時後才得到3600隻回收, 過程中擁有回收的數量維持在0
    8 X' |  Q8 E. g# @如果用原有方法的話, 未全部完成建造時也可以先拿造好的一部份

    評分

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

    檢視全部評分

    等級:6 - 駕輕就熟

    經驗值:0 / 59

    魔法值:90 / 3372

    生命值: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-7-17 04:11 , Processed in 0.014938 second(s), 10 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

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