Máy chủ từ xa buộc phải đóng kết nối hiện có c. Máy chủ từ xa buộc phải chấm dứt kết nối hiện có

Mã lỗi 10054 này, một mã lỗi nghiêm trọng, xuất hiện với người dùng tại thời điểm ghi. Thường thấy nhất trong các bản phát hành cũ hơn của 1C 8.2.

Ảnh chụp màn hình lỗi 10054:

Nói chung, sự xuất hiện của lỗi này cho thấy có điều gì đó không mong muốn đang xảy ra đối với nhà phát triển máy chủ 1C:

  • một yêu cầu không chính xác đến;
  • dữ liệu không chính xác;
  • một truy vấn gọi một mẫu lớn mà nó không thể đáp ứng được;
  • trường hợp đặc biệt: số tài liệu lớn hơn độ dài quy định ở tử số;
  • kiểm tra hoạt động với phần mềm chống vi-rút hoặc tường lửa bị vô hiệu hóa

Điều chỉnh:

Nó bao gồm việc bản địa hóa vấn đề càng nhiều càng tốt:

  • xác định loại tài liệu,
  • sổ đăng ký xảy ra lỗi,
  • người dùng,
  • máy tính.

Sau đó, một bản sao của cơ sở dữ liệu được tạo ra (sử dụng 1C hoặc DBMS).

Nếu việc khởi động lại máy chủ giải quyết được vấn đề, hãy tiếp tục theo dõi. Thêm tập lệnh khởi động lại dịch vụ vào ban đêm ngoài giờ làm việc.

Nếu quá trình khởi động lại diễn ra theo chu kỳ, hãy kiểm tra xem bạn đã định cấu hình tự động khởi động lại trong thuộc tính cụm chưa:

Việc kiểm tra và hiệu chỉnh được thực hiện bằng cách tính toán lại kết quả và lập chỉ mục lại các bảng.

Bản sao trước đó của cơ sở dữ liệu chứa vấn đề được quan sát sẽ được chọn lại, sự khác biệt sẽ được kiểm tra và có lẽ điều này sẽ dẫn đến nguyên nhân.

Nếu vấn đề không thể được giải quyết, bước tiếp theo Sẽ có việc thiết lập và phân tích nhật ký công nghệ.

Những gì có thể trở nên rõ ràng trong quá trình này:


Nếu tải trên máy chủ sắp đạt 100%, hãy cân nhắc việc tách máy chủ cơ sở dữ liệu và máy chủ 1C, điều này thường làm chậm nhưng ổn định công việc (trong 8.3 có cơ chế bộ nhớ dùng chung giúp tăng tốc độ tương tác giữa máy chủ và ).

  • Thêm bộ nhớ vào máy chủ nếu có thể.
  • Một giải pháp khả thi là thay thế máy chủ bằng máy chủ 64-bit, nhưng trước tiên hãy kiểm tra chức năng của bạn bè bạn ở vị trí của nó.
  • Sẽ không có hại gì khi thực hiện kiểm tra tương tự trên 32-bit để hiểu lỗi trong dữ liệu hoặc máy chủ cụ thể.
  • Dỡ và tải có thể loại bỏ biểu hiện.
  • Phương sách cuối cùng, hãy xem xét chuyển dữ liệu thông qua chuyển đổi dữ liệu hoặc thêm dữ liệu vào bản sao làm việc (một thủ tục dài dòng)

Kiểm tra nhật ký Windows để tìm lỗi hệ thống:

  • trong hoạt động mạng
  • thiết bị
  • các ứng dụng
  • khởi động lại bộ định tuyến, bộ chuyển mạch (hiếm khi, nhưng có vấn đề với chúng)

Nếu vấn đề không được giải quyết trong một khoảng thời gian ngắn, bạn có thể cần sự trợ giúp của quản trị viên được chứng nhận hoặc chuyên gia 1C.

Mô tả lỗi

server_addr=tcp://<имясервера>:1562 descr=Lỗi truy cập mạng tới máy chủ (Windows Sockets - 10054(0x00002746). Máy chủ từ xa đã bị buộc chấm dứt kết nối hiện có.) line=1031 file=.\src\DataExchangeTcpClientImpl.cpp

Làm thế nào để đối phó với vấn đề này

Thiết lập Nhật ký công nghệ và phân tích nhật ký của nó.
Hầu hết lý do phổ biến Có sự cố xảy ra ở phần máy chủ 1C:Enterprise.
Bạn cũng có thể đảm bảo bằng cách xem liệu các kết xuất có đang được tạo hay không (xem đường dẫn logcfg.xml, nếu cài đặt kết xuất không có ở đó, thì trong thư mục %USERPROFILE%\Local Setting\Application Data\1C\1Cv81\Dumps , ví dụ C:\Tài liệu và Cài đặt\<Имя пользователя>\Cài đặt cục bộ\Dữ liệu ứng dụng\1C\1Cv81\dumps. Sự cố nền tảng thường có thể xảy ra nhất do các yêu cầu có tham số không chuẩn. Gửi kết xuất tới email hỗ trợ kỹ thuật 1C: [email được bảo vệ].
1. Tôi thường gặp phải sự cố trong các lựa chọn đăng nhập tài liệu, các truy vấn tương tự như sau:

CHỌN ĐƯỢC PHÉP TOP 35 R.Date_Time A1,
R.Số A2,
R.Fld9608 A3,
R.Fld9613 A4,
R.Fld9606 A5,
R.Fld9610 A6,
R.Fld9611 A7,
R.Fld9607 A8,
R.Fld9612 A9,
R.Fld9615 A10,
R.Fld9614 A11,
R.Fld9609 A12,
R.Fld9605 A13,
R.Tài liệu A14,
R.Marked A15,
R.Posted A16,CAST(R.Fld9608 AS REF(Reference9)).Mô tả
A17,CAST(R.Fld9606 AS REF(Reference52)).Mô tả A18,CAST(R.Fld9611
NHƯ REF(Reference93)).Mô tả A19, TRƯỜNG HỢP KHI R.Fld9609 REFS
Reference53 THEN CAST(R.Fld9609 AS REF(Reference53)).Mô tả KHI NÀO
R.Fld9609 REFS Reference150 SAU ĐÓ CAST(R.Fld9609 AS
REF(Reference150)).Mô tả KHI R.Fld9609 REFS Tham chiếu63 THÌ
CAST(R.Fld9609 AS REF(Reference63)).Mô tả KHI R.Fld9609 REFS
Reference114 THEN CAST(R.Fld9609 AS REF(Reference114)).Mô tả END
A20,CAST(R.Fld9605 AS REF(Reference79)).Mô tả A21
TỪ DocumentJournal9604 R Ở ĐÂU
((R.Fld9605=79:b63e000bcd6ad80811da7cf12c684266)) VÀ
(R.Date_Time > DATETIME(2006,12,31,12,0,0) HOẶC (R.Date_Time =
DATETIME(2006,12,31,12,0,0) VÀ (R.Document >=
343:b654000bcd6ad80811dba49c7aabe269)))
ĐẶT HÀNG THEO A1 ASC, A14 ASC’

2. Ví dụ về nhật ký TJ hiển thị nguyên nhân khiến máy chủ gặp sự cố khi cập nhật tìm kiếm toàn văn bản
11:40.9690-0,EXCP,1,process=rphost,p:processName=<база данных>,t:clientID=3, t:applicationName=BackgroundJob,t:connectID=27,Usr=DefUser,DumpFile=C:\Program Files (x86)\1cv81\dumps\rphost_8.1.13.41_7d4e2366_20090609021136_10236.mdmp,Context='
GeneralModule.Module của nhiệm vụ thông thường: 46: Full-TextSearch.UpdateIndex(False, True);'

Giải pháp cuối cùng trong ví dụ này là vô hiệu hóa quy trình nền trong cơ sở dữ liệu có vấn đề. Chờ phát hành và cập nhật nền tảng mới.
Để biết thêm thông tin về sự cố nền tảng, hãy xem blog của tôi.
3. Ví dụ về TC để khởi động lại các quá trình theo chu kỳ. Để phân tích sự kiện này trên máy chủ 1C:Enterprise, bạn phải kích hoạt một mục trong nhật ký sự kiện công nghệ PROC (ví dụ: tệp logcfg.xml).
Khi một tiến trình bị tắt, một sự kiện PROC sẽ xuất hiện với thuộc tính Txt=Process bị vô hiệu hóa.
Khi một quá trình bị chấm dứt, một sự kiện PROC sẽ được phát ra với thuộc tính Txt=Process bị chấm dứt. Bất kỳ khách hàng nào đã hoàn thành với lỗi. Nếu như sự cố hoạt động của người dùng trùng khớp về thời gian với đầu ra của sự kiện này, thì nguyên nhân là do quản trị viên buộc phải dừng quy trình làm việc (thông qua bảng điều khiển cụm) hoặc do tự động khởi động lại.
4. Đảm bảo rằng nguyên nhân không phải do hành động của quản trị viên trong bảng điều khiển

—————————-

Dưới đây là phiên bản giải pháp của đồng nghiệp.

Mọi người thú vị trong việc giải quyết các vấn đề về sự cố nền tảng có lỗi:

10051, 10053, 10054, 10064

Như cuộc phỏng vấn về các sự cố nền tảng đã cho thấy, từ trên cao các lỗi được chỉ định:

— Hầu hết các sự cố là do công việc của các công việc nền gây ra, như mong đợi trong chủ đề.

- Không có tay cầm không gian đĩa

- Khả dụng số lượng lớn giao dịch chưa hoàn thành trong nhật ký 1C

— Trước khi phân tích nhật ký công nghệ, hãy phân tích các công việc nền được sử dụng trong cấu hình và vô hiệu hóa những công việc mà bạn không cần cho công việc hoặc cấu hình (điều đó không quan trọng, việc phân tích 14 GB rác có thể được coi là trò tiêu khiển nếu bạn không có việc gì tốt hơn để làm.. . :))))

— Phân tích và chỉnh sửa các công việc nền mà bạn đã thêm, đảm bảo rằng chúng được hoàn thành bằng mã hoàn thành thông thường (không có lỗi hoặc giao dịch đã đóng)

— Thêm các đoạn mã vào thuật toán của các công việc nền có lỗi, cưỡng ép, bộ nhớ được sử dụng trong quá trình hoạt động của chúng (Bạn không nên hy vọng rằng 1C sẽ phân bổ bộ nhớ đã sử dụng sau khi hoàn thành)

— Phân tích và KHẮC PHỤC CÁC VẤN ĐỀ VỀ HIỆU SUẤT của các công việc cấu hình nền điển hình

— Thực hiện các quy trình quản lý với cơ sở dữ liệu, thông qua mục menu Quản trị-Kiểm tra và Sửa chữa, đừng quên nhất thiết, thực hiện nén cơ sở dữ liệu

- Phân tích lượng không gian được sử dụng máy chủ SQL, rất có thể máy chủ không có đủ bộ nhớ

— Kiểm tra cài đặt chính sách của bạn Thư mục hoạt động

— Và cũng có thể nén/xóa nhật ký giao dịch SQL bằng mã giống như mã này (dành cho SQL 2000):

Lựa chọn 1:DBCC SHRINKFILE(pubs_log, 2)
(Nếu như đúng kích cỡ chưa đạt, hãy thử tùy chọn 2) Lựa chọn 2:SAO LƯU NHẬT KÝ quán rượu VỚI TRUNCATE_ONLY
DBCC SHRINKFILE(pubs_log,2)

Trong đó pub_log là tên cơ sở dữ liệu của bạn

Tùy chọn 3:
sp_detach_db - chúng tôi sẽ ngắt kết nối cơ sở dữ liệu theo quy trình này và sp_attach_db - chúng tôi sẽ kết nối lại. Điều này sẽ xóa nhật ký giao dịch.
(Để biết thêm thông tin, hãy xem chủ đề MSDN Q256650 (dành cho SQL 7.0) và Q272318 (dành cho SQL 2000).)

Tùy chọn 4: (Dành cho 7.0)
DBCC SHRINKFILE(file_name, target_size)
DBCC SHRINKDATABASE (tên cơ sở dữ liệu, target_percent)
NHẬT KÝ SAO LƯU tên cơ sở dữ liệu CHỈ VỚI TRUNCATE_ONLY

Nếu tình trạng té ngã vẫn tiếp tục xảy ra sau các hoạt động này thì hãy tiếp tục làm theo các khuyến nghị:

- Hãy thử thay đổi tập tin HOST hệ điều hành(rất có thể chỉ cần đăng ký liên kết trong các tệp trên một/hai máy thường xuyên xảy ra sự cố nhất)

— Cố gắng tách biệt máy chủ doanh nghiệp 1C và máy chủ SQL nếu bạn có chúng trên cùng một máy.

- Hoặc ngược lại, cài đặt chúng trên một máy (nếu bạn có đủ tài nguyên) Có những trường hợp việc di chuyển máy chủ sang một máy chủ sẽ giúp ích (Theo tôi thì rất đáng nghi ngờ và liên quan nhiều hơn đến lý do bắt đầu công việc, điều này là nén nhật ký giao dịch)

— Kiểm tra thời gian phản hồi của máy chủ (rất có thể mọi thứ sẽ trong giới hạn bình thường và những lỗi hiếm gặp trong thời gian phục vụ không thể ảnh hưởng mạnh đến hoạt động của máy chủ doanh nghiệp)

— Kiểm tra hoạt động của các bộ định tuyến trên mạng (Hiếm khi xảy ra, nhưng việc cấu hình lại chúng ảnh hưởng đến số lần gặp sự cố)

— Kiểm tra xung đột thiết bị trên mạng (điều này liên quan đến câu hỏi tại sao nên có thiết bị từ một nhà cung cấp trên mạng. Bất kỳ ai muốn có thể kiểm tra, ví dụ, trong tài liệu kỹ thuật 3COM có viết: nếu card mạng phát hiện ra rằng nó đang tương tác với một thiết bị tương tự thẻ kết nối, sau đó nó có thể được chuyển sang chế độ hiệu quả hơn bằng cách chuyển sang thuật toán xử lý được tối ưu hóa gói mạng, đã được thử nghiệm cho kinh nghiệm cá nhân hiệu suất tăng vọt lên tới 50%)

— Kiểm tra mức tín hiệu của người tiêu dùng/máy tính cuối (có thể không đáng kể, cấp thấp tín hiệu, các yêu cầu lặp lại liên tục đối với các khối, độ trễ trong hàng đợi dịch vụ trong mạng và do đó cuối cùng nhận được thông báo rằng máy chủ cuối đã đóng kết nối khi số lần thử vượt quá thời gian chờ tín hiệu đến. Nếu bạn muốn hiểu vấn đề này tham khảo giao thức vận hành Ethernet/CSMA CD/CSMA. Số lần thử truyền gói tin bằng giao thức này không phải là vô hạn...))) Và bộ đệm trong thẻ cũng không phải là vô hạn.)

- Thêm bộ nhớ vào máy chủ

— Chuyển một số/tất cả người dùng sang chế độ đầu cuối(Tức là cung cấp những gì NHIỀU người dùng định nghĩa là KHÁCH HÀNG THIN 1C). Đối với một máy chủ như vậy, tôi khuyên dùng Citrix Metaframe hoặc Terminal Server MS

Rất có thể, khi bạn làm theo những khuyến nghị này, ngoại trừ việc phân tích các vấn đề với phần cứng, tính ổn định của công việc sẽ tăng lên rất nhiều đến mức sự cố nền tảng sẽ trở nên rất hiếm khi xảy ra, điều này sẽ lấp đầy những lỗ hổng công nghệ để bảo trì cơ sở dữ liệu, điều vẫn PHẢI được thực hiện. đã làm theo và đừng nghĩ rằng những khuyến nghị được liệt kê ở trên Là thuốc chữa bách bệnh cho mọi vấn đề.

Họ sẽ giải quyết được nhiều vấn đề, nhưng không phải tất cả.

Và bạn sẽ rất vui nếu không gặp phải những vấn đề như vậy; bất kỳ ai gặp phải chúng sẽ hiểu tôi.

———————————

Tất nhiên, hãy khám phá các vai trò “Người dùng”, nếu chúng tồn tại trong một cấu hình thông thường và đặc biệt là sau khi bạn tính toán vấn đề document bằng cách sử dụng , bạn cần tìm vai trò có vấn đề (ai đang phàn nàn).
Tiếp theo, đối với vai trò Người dùng, hãy xem radar của tài liệu, nếu cài đặt thêm không (thuần khiết) thì click chuột phải trên đó - tìm kiếm các liên kết đến một đối tượng và xem tuần tự radar để tìm vai trò “Người dùng” cho từng đối tượng.

Nhầm nhầm cường độ người dùng cao với một cuộc tấn công giao thức trong một số trường hợp Windows.
>Chạy regedit.exe, thêm giá trị DWORD mới có tên SynAttackProtect vào khóa đăng ký HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ và đặt giá trị 00000000
Thật hợp lý khi làm điều đó cho Windows 2003 SP1 (http://msdn.microsoft.com/ru-ru/library/ms189083.aspx

Máy chủ và cơ sở dữ liệu 1C trên một máy chạy Debian Squeeze.

Cách giải quyết: Đặt tham số kernel tcp_syncookies thành 0.

root@machine:~# echo "net.ipv4.tcp_syncookies = 0" >> /etc/sysctl.conf && sysctl -p
(tác giả Vadim Ivakhin)

Một lỗi khá phổ biến khi sử dụng 1C 8.2 ở chế độ client-server là máy chủ từ xa buộc phải chấm dứt kết nối hiện có. Theo quy định, quản trị viên của khách hàng từ khu vực doanh nghiệp sẽ nộp đơn, tức là. nơi có từ 20 nơi làm việc trở lên được vận hành.

Trong 98% trường hợp lỗi này liên quan đến việc khởi động lại quy trình làm việc. Có thể có một số lý do khiến nó khởi động lại, nhưng phổ biến nhất là khởi động lại tầm thường theo lịch trình. Do sự phát triển của tập tin quy trình làm việc rphost và công việc bị chậm lại rõ rệt sau đó kéo theo sự tăng trưởng này, các quản trị viên cố gắng giải quyết vấn đề bằng cách khởi động lại quy trình làm việc và ngay lập tức phải đối mặt với một vấn đề khác - ngắt kết nối người dùng đang làm việc. Việc tạo một quy trình làm việc bổ sung không mang lại kết quả gì vì... trái với tài liệu chính thức chuyển máy khách dày sang quy trình làm việc khác không xảy ra. Hơn nữa, tải trên bộ xử lý tăng lên - cần phải xử lý việc chuyển đổi ngữ cảnh. Nhân tiện, chính 1C cũng đề xuất một quy trình làm việc cho 50-100 người dùng.

1) để giải phóng bộ nhớ bị chiếm bởi quy trình làm việc 1C, hãy sử dụng tính năng tự động khởi động lại quy trình làm việc. Nên khởi động lại quy trình công việc mỗi ngày một lần (cứ sau 86400 giây). Trong trường hợp này, quy trình công nhân trước tiên bị tắt (không thể kết nối mới với quy trình đó, các kết nối cũ vẫn tiếp tục hoạt động) và một quy trình mới sẽ được khởi chạy. Sau đó, khi tất cả các kết nối đến quy trình cũ bị đóng, quy trình sẽ kết thúc. Đồng thời, xin lưu ý rằng việc đếm ngược của 86400 này bắt đầu từ thời điểm dịch vụ bắt đầu Đại lý máy chủ 1C Enterprise. Những thứ kia. Đó là khuyến khích để bắt đầu nó vào ban đêm.

2) không sử dụng nhiều hơn một quy trình công nhân, nếu bạn có tối đa 100 người dùng. Tại hơn các tiến trình công nhân dành thời gian của CPU để chuyển đổi bối cảnh giữa chúng.

3) xóa bộ nhớ đã sử dụng. Sự tăng trưởng nhanh chóng của bộ nhớ do quá trình rphost chiếm giữ thường là do cấu hình được viết không cẩn thận; bảng giá trị, liệt kê và mảng. Điều này đặc biệt rõ ràng khi nó xảy ra ở công việc nền. Do đó, khi phân tích vấn đề rò rỉ bộ nhớ, bạn cần bắt đầu với chúng, chẳng hạn như bằng cách vô hiệu hóa chúng trong thuộc tính cơ sở thông tin một thời gian.

4) sử dụng máy chủ riêng biệt cho SQL và 1C. Như bạn đã biết, không bao giờ có quá nhiều bộ nhớ dành cho SQL.

Bạn nên chú ý đến những trường hợp đã lưu ý xuất hiện lỗi “The Remote Host Forforced Close the Connection” do sử dụng cao thiết bị mạng . Khi thời gian phản hồi của máy chủ tăng lên 150-300 ms trở lên, kết nối sẽ bị ngắt do hết thời gian chờ. Ví dụ: điều này xảy ra khi một số người dùng đồng thời tải bộ định tuyến mà máy chủ 1C được kết nối bằng cách sao chép tệp kích thước lớn. Quản trị viên nên tính đến khả năng xảy ra tình huống này và khi mua bộ định tuyến, hãy chú ý đến tốc độ của kết cấu chuyển mạch.

Tóm lại, tôi sẽ nói thêm rằng việc cài đặt và cấu hình máy chủ là một công việc có trách nhiệm đòi hỏi kiến ​​​​thức và kinh nghiệm; tốt hơn là nên giao phó nó cho các chuyên gia. Các chuyên gia của chúng tôi cài đặt máy chủ theo hình thức chìa khóa trao tay; để biết thêm chi tiết, hãy xem phần này.