[Guide] Tối ưu Ranking giảm lang
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 1 của 2 1 2 CuốiCuối
Kết quả 1 đến 10 của 11
  1. #1
    Thành Viên
    Ngày tham gia
    May 2006
    Bài viết
    130
    Thanks
    31
    Thanked 92 Times in 26 Posts

    [Guide] Tối ưu Ranking giảm lang

    Web MU nặng nhất là phần Ranking.
    "Nặng" ở đây không có nghĩa là kích cỡ file lớn mà là traffic đến máy chủ lớn

    Bạn hình dung thế này:
    Với 1 trang xếp hạng hiển thị thông tin 20 nhân vật gồm các thông số:
    -Tên
    -Level
    -Reset
    -Money
    -PK
    -Trạng thái online
    Đối với 5 thông số đầu tiên đều có trong table character nhưng thông số thứ 6 thì nằm trong 1 table khác

    Như vậy để hiển thị thông tin cho 1 nhân vật trên bảng xếp hạng
    trong câu lệnh SQL cần ít nhất 2 câu truy vấn để lấy thông tin

    - Đầu tiên trình chủ web sẽ biên dịch mã nguồn, kết nối SQL server
    - SQL thẩm định quyền truy xuất dữ liệu
    - Kiểm tra ngữ pháp câu lệnh
    --> sau đó sẽ tạo ra một execute plan để thực thi

    quá trình này diễn ra rất nhanh.
    Nhưng mấu chố ở chỗ. Nếu có quá nhiều lần thực hiện thao tác như vậy thì lưu thông trên mạng sẽ lớn. vì đa phần MU server sử dụng ADSL nên điều này càng làm mạng trì chệ

    Nói vậy là đủ rồi. Mình xin đưa ra 1 giải pháp cho vấn đề này


    1. Sử dụng Stored Procedure để thực thi lệnh

    Sau đây là ví dụ cụ thể đối với 1 trang ranking lấy ra thông tin 100 nhân vật

    Vào SQL Enterprise Manager
    Chọn Database MuOnline
    Chọn Stored Procedure
    Click phải chuột vào bên phải bảng chọn New Stored Procedure
    Chèn lệnh sau rồi save vào
    Code:
    /*
        STATUS:
        0:    FALSE
        --------------------------------
        9:    OK
    */
    
    ALTER PROCEDURE GC_Ranking(
    @Status tinyint=0 Output,
    @Result varchar(1000)='' Output
    )
    AS
        SET @Result=''
        SELECT top 100 @Result=@Result+'<tr><td>'+ Name +'</td><td>'+ Convert(varchar,Reset) +'</td></tr>' FROM Character ORDER BY Reset DESC, cLevel DESC
    IF @@Error = 0
        SET @Status = 9
    ELSE
        SET @Status = 0
    
    PRINT @Status
    PRINT @Result
    GO
    Còn đây là mã nguồn trang web Ranking.asp
    Code:
    '===================Khởi tạo lệnh ADODB
    
    SET conn = Server.CreateObject("ADODB.Connection")
    connstr = "driver={sql server};server=mutitan.net,4323;uid=sa;pwd=123456;database=MuOnline"
    conn.open connstr
    
        set adoCmd = Server.CreateObject("ADODB.Command")
        set adoCmd.ActiveConnection = conn
    
        adoCmd.CommandText = "GC_Ranking"
        adoCmd.CommandType = adCmdStoredProc
    
        adoCmd.Parameters.Append adoCmd.CreateParameter("@Status", adTinyInt, adParamOutput, 1)
        adoCmd.Parameters.Append adoCmd.CreateParameter("@Result", adVarChar, adParamOutput, 1000)
        adoCmd.Execute
        adoCmd.Close
    
        adoStatus = Cint(adoCmd.Parameters("@Status").Value)
        adoResult = adoCmd.Parameters("@Result").Value
    
        SET adoCmd = Nothing
        conn.Close
        SET conn = Nothing
    
    Response.write("<table><tr><th>Name</th><th>Reset</th></tr>"&adoResult&"</table>")
    2.Phân tích code
    Đoạn dưới chứa thông tin username và pass để kết nối SQL server
    Code:
    SET conn = Server.CreateObject("ADODB.Connection")
    connstr = "driver={sql server};server=mutitan.net,4323;uid=sa;pwd=123456;database=MuOnline"
    conn.open connstr
    Code:
        set adoCmd = Server.CreateObject("ADODB.Command")
        set adoCmd.ActiveConnection = conn
    
        adoCmd.CommandText = "GC_Ranking"
        adoCmd.CommandType = adCmdStoredProc
    Khai báo gọi GC_Ranking
    Code:
        adoCmd.Parameters.Append adoCmd.CreateParameter("@Status", adTinyInt, adParamOutput, 1)
        adoCmd.Parameters.Append adoCmd.CreateParameter("@Result", adVarChar, adParamOutput, 1000)
        adoCmd.Execute
        adoCmd.Close
    Truyền tham số và thực thi. Ở đây là 2 tham số đầu gia @Status và @Result
    Lần sửa cuối bởi TitanRain, ngày 19-07-08 lúc 01:23 AM.
    Khách viếng thăm hãy cùng TitanRain xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên
    Ngày tham gia
    May 2006
    Bài viết
    130
    Thanks
    31
    Thanked 92 Times in 26 Posts

    Ðề: [Guide] Tối ưu Ranking giảm lang

    3.Phân tích mở rộng
    Thường thì một ngày mỗi người chơi theo dõi Ranking liên tục trong quá trình chơi và mỗi khi Reset (Giống như theo giõi chứng khoán ý)

    Nhưng chúng ta muốn làm chậm lại quá trình Refresh dữ liệu.
    Vì mỗi lần xem trang Ranking lại hàng loạt request đến server được triệu gọi

    Tôi xin trình bày cách lưu thông tin bảng xếp hạng vào file .xml ở trên host đặt web.
    Mỗi giờ sẽ cập nhật thông tin từ máy chủ 1 lần, còn trong thời gian dưới 1 giờ sẽ hiển thị cho user thông tin đã lưu trong file .xml

    Demo: [Only registered and activated users can see links. ] (Đây là trang chủ)
    Đây là các file đã được lưu trên host:
    - [Only registered and activated users can see links. ]
    - [Only registered and activated users can see links. ]
    - [Only registered and activated users can see links. ]
    - [Only registered and activated users can see links. ]
    - [Only registered and activated users can see links. ]

    - ....
    Tất nhiên quá trình kiểm tra và tạo mới file .xml diễn ra tự động
    Lần sửa cuối bởi TitanRain, ngày 19-07-08 lúc 08:37 AM.
    Khách viếng thăm hãy cùng TitanRain xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. #3
    Thành Viên
    Ngày tham gia
    May 2006
    Bài viết
    395
    Thanks
    32
    Thanked 37 Times in 33 Posts

    Ðề: [Guide] Tối ưu Ranking giảm lang

    Gãi đúng chỗ ngứa
    Thanks a lot
    Khách viếng thăm hãy cùng vietpro8x xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #4
    Thành Viên Tâm Huyết giangleloi's Avatar
    Ngày tham gia
    Mar 2008
    Đang ở
    Lâm Đồng
    Bài viết
    1,877
    Thanks
    38
    Thanked 394 Times in 136 Posts

    Ðề: [Guide] Tối ưu Ranking giảm lang

    thế thì còn jì bằng nhờ???????^^
    Khách viếng thăm hãy cùng giangleloi xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #5
    Thành Viên
    Ngày tham gia
    Aug 2007
    Bài viết
    46
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: [Guide] Tối ưu Ranking giảm lang

    Cho mình hỏi thêm chút dc hok bạn ! là vấn đề của bảng xếp hạng Guild đó ! Nó khó chiệu wua à
    Khách viếng thăm hãy cùng Secondhand™ xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #6
    Thành Viên
    Ngày tham gia
    May 2006
    Bài viết
    130
    Thanks
    31
    Thanked 92 Times in 26 Posts

    Ðề: [Guide] Tối ưu Ranking giảm lang

    Bạn post code lên mình xem cho
    Khách viếng thăm hãy cùng TitanRain xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #7
    Thành Viên
    Ngày tham gia
    Aug 2007
    Bài viết
    46
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: [Guide] Tối ưu Ranking giảm lang

    - Bạn có thể cho mình xin cái Mod_Ranking.asp của mu phố keo dc hok ! Mình sài soure của bạn đó mà . Hồi trước anh hà sell
    Khách viếng thăm hãy cùng Secondhand™ xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  8. #8
    Thành Viên
    Ngày tham gia
    Jul 2008
    Bài viết
    91
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: [Guide] Tối ưu Ranking giảm lang

    anh có thể hướng dẫn kỷ hơn một chút được ko?
    mình copy toàn bộ cái ranking.asp sao nó ko dc
    Khách viếng thăm hãy cùng muonline3k xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. #9
    Thành Viên
    Ngày tham gia
    Apr 2008
    Bài viết
    294
    Thanks
    3
    Thanked 42 Times in 36 Posts

    Ðề: [Guide] Tối ưu Ranking giảm lang

    ui' giowf sao khoong cos cais tool gox tieengs vieetj vaayj, err

    tui thi dung cach khac, xai web 08, them vai dong code de han che xem xep hang:
    cos nghia la chi xem duoc xep hang vao 1 ngay nhat dinh trong tuan thoi, nhung ngay khac ko xem duoc, "lag 1 ngay con hon lag 1 tuan ^^" voi lai nhu the nay se tao cam giac hoi hop cho nguoi choi " ko biet minh xep thu may roi nhi?" giong may game online lo'n 1 tuan xep hang 1 lan hoho
    Khách viếng thăm hãy cùng tinhhack xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  10. #10
    Thành Viên
    Ngày tham gia
    May 2009
    Bài viết
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: [Guide] Tối ưu Ranking giảm lang

    các bạn ơi sao mà mình cài song mu rồi mà sao khi mình biên qua các nạp khác thì lại ko dc mong các ban chi giáo hoậc liên lạc YM nhatdasai de chi giáo cám ơn rất nhiều
    Khách viếng thăm hãy cùng daica72 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 1 của 2 1 2 CuốiCuối

Các Chủ đề tương tự

  1. Lỗi cập nhật Ranking Web Forsttress của bác Mr.Quy Share
    Bởi lequangvu trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 3
    Bài viết cuối: 27-05-11, 12:16 PM
  2. [RELEASE]MuWeb0.8 Modified(VN lang,FPT themes,...)
    Bởi HKDdev.team trong diễn đàn SQL Server & Website
    Trả lời: 36
    Bài viết cuối: 09-07-08, 06:05 PM
  3. [Guide][GS 1.00.18] PK Bug fix
    Bởi cuonglee trong diễn đàn Guides - Kho Lưu trữ
    Trả lời: 3
    Bài viết cuối: 28-06-08, 10:03 PM
  4. [Release] Muweb Season 3 Ranking Fix
    Bởi luckyday trong diễn đàn SQL Server & Website
    Trả lời: 5
    Bài viết cuối: 17-03-08, 01:06 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 02:46 AM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.