Tôi có bốn máy chủ giống hệt nhau 2 được sử dụng trong sản xuất và hai máy chủ còn lại là máy demo / lỗi khẩn cấp trên các hộp. Cỗ máy mạnh mẽ hơn, một hợp đồng Ram 16 lõi gồm 16 máy chủ lưu trữ cả Datwarhouse và cơ sở dữ liệu OLTP của chúng tôi. Hộp ít mạnh hơn là hộp ram 8 lõi 98 lõi mà chúng tôi sử dụng cho ETL và kho dữ liệu của chúng tôi. Vấn đề tôi gặp phải là trên các dịch vụ tích hợp máy chủ sản xuất cần một lượng lớn thời gian để thực hiện xác nhận gói. Đối với truy vấn trả về sau 6 giây, phải mất 40 giây để hoàn tất xác thực gói. Như bạn có thể thấy nó là một gói khá đơn giản.
Hãy nhớ rằng đây chỉ là gói tôi đang sử dụng làm ví dụ, tất cả các gói của tôi đều có cùng một vấn đề mặc dù một số ở mức độ thấp hơn. Khi tôi chạy phần này, phần xác nhận mất trung bình 40 giây.
Để kiểm tra tốt hơn điều này, tôi đã chạy gói chính xác trên hộp chị em chạy tất cả các công việc SQL giống như hộp này. Chỉ để xác thực trước khi thực hiện mất 0 giây và truy vấn mất từ 4 đến 6 giây.
Để kiểm tra thêm, tôi đã chạy truy vấn đối với cả hai phiên bản của máy chủ SQL.
SELECT '{' + CAST(Store_Id AS CHAR(36)) + '}' AS Store_Id
,'{' + CAST(ItemGroupDetail_Id AS CHAR(36)) + '}' AS ItemGroupDetail_Id
,ItemGroupType_Id
,'{' + CAST(Concept_Id AS CHAR(36)) + '}' AS Concept_Id
,'{' + CAST(Company_Id AS CHAR(36)) + '}' AS Company_Id
,'{' + CAST(ItemGroup_Id AS CHAR(36)) + '}' AS ItemGroup_Id
,GroupName
,Sort
,NameOverride
,'{' + CAST(ParentGroup_Id AS CHAR(36)) + '}' AS ParentGroup_Id
,Active
,'{' + CAST(UserCreated AS CHAR(36)) + '}' AS UserCreated
,'{' + CAST(UserModified AS CHAR(36)) + '}' AS UserModified
FROM bos_vAllItemGroups
Thực thi trên máy chủ chính với ngày cập nhật trực tiếp trả về 63326 hàng trong trung bình 5 giây và 50527 hàng trong 3 giây. Dự kiến máy chủ này có ít hoạt động hơn với cùng thông số kỹ thuật tôi mong đợi nó sẽ nhanh hơn một chút. Những gì tôi không mong đợi là thời gian xác thực gói sẽ tăng hơn rất nhiều so với thời gian chạy truy vấn thực tế.
Sau khi đào nhiều ngày hôm qua tôi nghĩ rằng tôi có thể đã phát hiện ra vấn đề nhưng không biết làm thế nào để chứng minh điều đó. Cơ sở dữ liệu OLTP sản xuất quản lý nội dung cho các bảng menu kỹ thuật số trên toàn quốc đang liên tục gọi về nhà để kiểm tra nội dung mới. Hầu hết thời gian không có gì để thay đổi và các truy vấn để tìm ra kết thúc trong một phần nghìn giây. Tuy nhiên, họ gửi về quá trình này kết thúc chạy trung bình 4500 truy vấn mỗi giây. Đây có thể là nguyên nhân của vấn đề của tôi? Khối lượng lớn các giao dịch đến từ máy chủ web của chúng tôi. Nếu vậy làm thế nào để tôi chứng minh điều đó? Tôi đã cố gắng để các cơ sở dữ liệu này chạy trên các máy riêng biệt vì cơ sở dữ liệu OLTP này đang phát triển rất nhanh vì cơ sở dữ liệu của chúng tôi và từ tất cả việc đọc của tôi giữ cho cơ sở dữ liệu OLAP và OLTP của bạn trên cùng một máy chủ bị coi là thông lệ xấu.
dtexec.exe /file mypackage /reporting V
nên cung cấp một số ghi nhật ký chi tiết