Làm cách nào để cải thiện Windows Server 2008 R2 để xử lý nhiều kết nối?


9

Đã được vài ngày cho đến nay tôi đang cố gắng tìm cách giải quyết vấn đề này. Trước hết, tôi đang điều hành một trang web với lượt xem trang trung bình hàng ngày là 350.000. Trước đây, tất cả quản lý quảng cáo (nhấp chuột theo dõi và hiển thị rằng mỗi quảng cáo đã phân phát) và nội dung được phục vụ trong một máy chủ với thông số sau:

Máy chủ 1
HĐH: Windows 2008 R2 64-Bit
CPU: Intel® Core ™ i5 - 4 lõi
RAM: 8 GB
Lưu trữ: ổ cứng 2 x 1 TB
Băng thông: 10 TB mỗi tháng

Để cải thiện tốc độ trang web của chúng tôi, tôi quyết định tách tập lệnh quản lý quảng cáo sang một máy chủ chuyên dụng khác vì chúng tôi có hơn 15 nhà quảng cáo cho 30 nhà quảng cáo trên mỗi trang.

Máy chủ 2
HĐH: Windows 2008 R2 64-Bit
CPU: Intel® Core ™ i5 - 4 lõi
RAM: 4 GB
Lưu trữ: 2 x 300 GB ổ cứng
Băng thông: 10 TB mỗi tháng

Vấn đề Vấn
đề là Server 1có thể xử lý cả nội dung và hệ thống quảng cáo. Bây giờ, tôi lấy đi hệ thống quảng cáo và đặt nó ở Server 2. Server 2chỉ có thể phục vụ hệ thống quảng cáo.

Kiểm tra

  • Trước hết, tôi đã chuyển 75% quảng cáo sang Server 2. Và sau đó, thực hiện ping đến máy chủ : ping -t xxxxx. [Tôi đã thực hiện ping trong 10 phút và mô hình tương tự như sau]
Trả lời từ xxxxx byte = 32 time = 290ms TTL = 116
Trả lời từ xxxxx byte = 32 time = 289ms TTL = 116
Trả lời từ xxxxx byte = 32 time = 320ms TTL = 116
Trả lời từ xxxxx byte = 32 time = 286ms TTL = 116
Trả lời từ xxxxx byte = 32 time = 286ms TTL = 116
Trả lời từ xxxxx byte = 32 time = 348ms TTL = 116
Trả lời từ xxxxx byte = 32 time = 284ms TTL = 116
  • Sau đó, tôi chuyển 100% quảng cáo sang Server 2. Sau đó, thực hiện ping đến máy chủ một lần nữa. [Tôi đã thực hiện ping trong 10 phút và mô hình tương tự như sau]
Trả lời từ xxxxx byte = 32 time = 290ms TTL = 116
Yêu cầu đã hết thời gian
Trả lời từ xxxxx byte = 32 time = 320ms TTL = 116
Trả lời từ xxxxx byte = 32 time = 286ms TTL = 116
Yêu cầu đã hết thời gian
Yêu cầu đã hết thời gian
Trả lời từ xxxxx byte = 32 time = 284ms TTL = 116

Nỗ lực

  1. Tăng MaxUserPortTcpNumConnection
  2. Khởi động lại máy chủ
  3. Tăng IIS Max InstancesInstance MaxRequests

Tài nguyên máy chủ

  • Chỉ 10% -15% kết nối mạng được sử dụng
  • Chỉ 10% -15% CPU được sử dụng
  • Chỉ 25% bộ nhớ được sử dụng

3
Đây là một câu hỏi được đặt ra theo quan điểm của tôi và xứng đáng với những người ủng hộ, nhưng tôi vẫn cảm thấy như chúng ta đang thiếu một số manh mối để giúp chúng ta giải câu đố.
Ryan Ries

@RyanRies, vui lòng cho con trỏ thiếu thông tin cần thiết để giải câu đố này. Ngay bây giờ, tôi có 75% quảng cáo trong Máy chủ 2 và 25% quảng cáo trong Máy chủ 1. Hiện tại nó hoạt động khá tốt, nhưng tôi hoàn toàn không thể chuyển sang Máy chủ 2.
Monkey D Luffy

1
Tôi đồng ý với @RyanRies: chúng tôi đang thiếu một cái gì đó. Tôi sẽ xem xét cách xây dựng hệ thống phục vụ quảng cáo: có thể có sự phụ thuộc giữa nội dung và dịch vụ phục vụ quảng cáo gây ra sự chậm trễ quá mức.
Stephane

@Stephane không, điều đó nên và sẽ không gây ra mất ping. Ping không được xử lý bởi mã phân phát quảng cáo mà bởi ngăn xếp TCP trực tiếp. Điều đó về cơ bản có nghĩa là chúng sẽ hoạt động trừ khi Máy chủ bị quá tải. Điều này có vẻ nghiêm túc - theo câu trả lời của tôi - giống như băng thông không có ở đó. Trước máy chủ.
TomTom

Một số điều còn thiếu ở đây là 1) bạn có thể thay đổi / không thay đổi điều gì trong môi trường của mình? 2) các máy chủ web được cấu hình bằng đĩa như thế nào? 3) thời gian mạng nội bộ đến nơi bạn đang ở hoặc đây có phải là máy chủ từ xa không? Nếu đó là một máy chủ từ xa, thì nó cách bao xa? 4) nếu bạn cần cải thiện máy chủ của mình, ngân sách của bạn có thể tự do thêm phần cứng vào bảng 5) thì các bản ghi sự kiện có lỗi gì không? 6) Tôi không thấy kết quả từ việc chụp perfmon ở độ cao của lưu lượng 7) số khách truy cập duy nhất của bạn là gì? 8) bạn đã lọc ra lưu lượng rác?
Techie Joe

Câu trả lời:


4

Hãy bắt đầu. Cái này dài hơn

Bạn hoàn toàn đánh giá sai sự thật ở đây. Windows - ngay cả phiên bản 2008 R2 lỗi thời mà bạn nên cập nhật ASAP - hoàn toàn có khả năng xử lý âm lượng mà điện thoại di động của tôi không gặp vấn đề gì.

Vì vậy, điều đó để lại 3 vấn đề có thể xảy ra:

  • Cài đặt. Trình điều khiển của bạn có thể là crappy. Cho bạn chạy một hệ điều hành lỗi thời - trình điều khiển của bạn tốt như thế nào? Cập nhật chúng - điều này có thể gây ra tất cả các loại vấn đề.

  • Mạng. Điều này có vẻ nghiêm trọng như "Xe của tôi quá chậm, xin hãy giúp tôi làm cho nó nhanh hơn" khi vấn đề là bạn dành phần lớn thời gian trong tình trạng kẹt xe và phàn nàn về việc giao thông không di chuyển. Không phải là một vấn đề điều chỉnh xe. Lưu lượng 10tb không nói gì về tắc nghẽn mạng. Xem số liệu thống kê lưu lượng truy cập mạng của bạn trên NIC của bạn và sau đó phản ứng tương ứng - nếu chúng không đứng đầu với tốc độ mà chúng nên .... nhà cung cấp của bạn đã bán quá mức. Đơn giản như thế.

  • Mã. Có thể bạn cần thêm RAM (máy tính đang bận chuyển sang RAM thay vì xử lý) hoặc mã hóa xảo quyệt đang sử dụng tất cả CPU của bạn ở mức độ khiến ngăn xếp TCP cấp hạt nhân không phản ứng đúng (vâng, phản hồi của ICMP ở mức thấp). Điều này sẽ rất tàn bạo - nhưng đó là một con đường khác để kiểm tra. Cũng có thể là bạn quá tải các đĩa bằng cách truy cập chúng quá thường xuyên thay vì lưu vào bộ nhớ cache trong RAM, nhưng bằng cách nào đó tôi không thấy điều đó dẫn đến mất ping. Bất kỳ vấn đề nào ở đây không phải là điều mà quản trị viên có thể xử lý, mặc dù vậy - bạn phải ném phần cứng vào nó, hoặc lấy một cây gậy và đánh người lập trình với nó cho đến khi anh ta sửa nó (nếu đó là một lỗi cấp độ "ngu ngốc" ăn hiệu suất - nếu không, thì việc kiếm lợi nhuận nghiêm trọng sẽ khó hơn rất nhiều và có thể bạn chỉ cần phần cứng mạnh hơn).

Nó chắc chắn không yêu cầu điều chỉnh các cửa sổ - một cửa sổ được cấu hình tốt có thể cung cấp RẤT NHIỀU hơn thế. Các máy chủ tệp của tôi thường xuyên ß trong khoảng thời gian dài hơn - cung cấp 4-6gigabit từ một thiết lập tương đối chứng khoán.

Bây giờ, tất cả những con số bạn đưa ra không nói gì Nghiêm túc.

  • 10 - 15% CPU được sử dụng COULD có nghĩa là hoán đổi.
  • 25% bộ nhớ được sử dụng có khả năng là một chỉ báo tốt hiện đang hoán đổi xảy ra, nhưng điều đó vẫn có thể có nghĩa là CPU đang chờ IO.
  • Mạng 10% -15% được sử dụng là phương tiện - hoàn toàn không có gì vì đó chỉ là Phía BẠN của mạng. Còn thượng nguồn thì sao? Điều gì sẽ xảy ra nếu nhà cung cấp đang đặt 20 máy chủ với 1 gigabit trên đường dẫn 1 gigabit từ giá đỡ và nó tràn ra như địa ngục?

Điểm cuối cùng rất có thể - các gói bị rơi là một chỉ báo tốt về điều đó. Và điều này sẽ không được nhìn thấy cho bạn.

Lời khuyên của tôi .... tắt mọi thứ trên máy trong giây lát, thực hiện kiểm tra tốc độ từ bên ngoài bằng một tệp tĩnh lớn. Tôi cá là bạn sẽ chạy vào tình trạng tắc nghẽn cao hơn.

Bất cứ điều gì bạn đã làm cho đến nay - maxuserport, tcpnumconnection, khởi động lại máy chủ, chơi xung quanh với cài đặt IIS - hoàn toàn tắt và không làm gì ở nơi tốt nhất. Đập búa vào một chiếc xe chậm không bao giờ sửa chữa bất cứ điều gì - đặc biệt là nếu chiếc xe chậm vì nó bị kẹt xe. Tôi sẽ hoàn tác tất cả các thay đổi và bắt đầu phân tích vấn đề, không chỉ máy chủ của bạn. Tôi sẽ đặt cược vào sự tắc nghẽn mạng tại thời điểm này.


3
even the outdated 2008 R2 which you should update ASAP- C'mon, TomTom, hãy nắm lấy. 2008 R2 vẫn hoạt động tốt trong hỗ trợ chính và cách xa khỏi Hỗ trợ mở rộng vào năm 2020 tôi tin rằng ...
Dan

4
"lỗi thời 2008 R2 mà bạn nên cập nhật ASAP": cả hai đều không chính xác (2008R2 không "lỗi thời" và không nên cập nhật "chỉ vì") và không có ý nghĩa gì trong ngữ cảnh của câu trả lời. Phần còn lại không cải thiện câu trả lời của bạn vì nó không cung cấp bước hữu ích nào để xác định vấn đề, ít khắc phục vấn đề hơn, nó chỉ cung cấp lời khuyên chung chung (và chỉ nhẹ về chủ đề) về hiệu suất.
Stephane

Trên thực tế, đó là vì đoán những gì đã được thay đổi nghiêm trọng sau đó là ngăn xếp IP. Khả năng mở rộng là một điểm. Vì vậy, có, trong bối cảnh nhất định nó là. Các cập nhật sẽ diễn ra càng sớm càng tốt - vì đoán xem, BẠN có thể không làm cho công cụ của mình tốt hơn theo thời gian, hầu hết các công ty đều làm như vậy. 2012 R2 tốt hơn 2008 R2.
TomTom

Sử dụng speedtest.net, đường lên và đường xuống khoảng 100mbps.
Khỉ D Luffy

Có hai phần mềm phụ thuộc cho hệ thống quảng cáo: memcached và MySQL. Nó theo dõi tất cả các ấn tượng và nhấp vào memcached và cập nhật lên MySQL cứ sau 10 phút.
Khỉ D Luffy

0

Là ping bên ngoài hai máy chủ? Nếu vậy, hãy thử ping từ máy chủ một đến máy chủ hai. Nếu kết quả hoàn toàn khác với khi ping bên ngoài thì điều đó cho thấy vấn đề có thể không phải do máy chủ hai. Ngoài ra, hãy xem trình giám sát tài nguyên về độ dài hàng đợi đĩa cho các ổ đĩa và thời gian hoạt động - một số thông tin khác có thể làm nổi bật vấn đề.


Tôi đã thử nó rồi. Tôi đã sử dụng Máy chủ 1 để ping Máy chủ 2 và ping vẫn giảm nếu tôi đặt nhiều quảng cáo hơn.
Khỉ D Luffy

1
Kết nối giữa máy chủ 1 và máy chủ 2, có phải thông qua phần cứng của riêng bạn? Hay là công tắc trung tâm dữ liệu? Chỉ cần cố gắng xác định xem khi bạn ping bạn đã đi qua phần cứng DC có thể gây ra tắc nghẽn. Bạn đã có bất cứ điều gì trong IIS / Windows đang tự động chặn các yêu cầu chưa? Không có bảo vệ dos đang chặn yêu cầu hợp pháp? Hệ thống, có phải ASP.NET và db là MySQL không?
Ross Buggins
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.