การตั้งค่าที่เหมาะสมที่สุดสำหรับคลัสเตอร์ 1s 8.3

คลัสเตอร์เซิร์ฟเวอร์ 1C:องค์กร 8 (1C:คลัสเตอร์เซิร์ฟเวอร์องค์กร 8)

คลัสเตอร์เซิร์ฟเวอร์ 1C:Enterprise 8 เป็นองค์ประกอบหลักของแพลตฟอร์ม ซึ่งรับประกันการทำงานร่วมกันระหว่างระบบการจัดการฐานข้อมูลและผู้ใช้ในกรณีของการดำเนินการไคลเอนต์-เซิร์ฟเวอร์ คลัสเตอร์ช่วยให้สามารถจัดระเบียบงานที่มีการแข่งขันสูง ทนทานต่อข้อผิดพลาด และต่อเนื่องสำหรับผู้ใช้จำนวนมากที่มีฐานข้อมูลข้อมูลขนาดใหญ่

คลัสเตอร์เซิร์ฟเวอร์ 1C:Enterprise 8 เป็นแนวคิดเชิงตรรกะที่แสดงถึงชุดของกระบวนการที่ให้บริการฐานข้อมูลชุดเดียวกัน

ความสามารถต่อไปนี้ของคลัสเตอร์เซิร์ฟเวอร์สามารถระบุได้ว่าเป็นความสามารถหลัก:

  • ความสามารถในการทำงานทั้งบนคอมพิวเตอร์หลายเครื่องและบนคอมพิวเตอร์เครื่องเดียว (เซิร์ฟเวอร์ที่ทำงาน)
  • เซิร์ฟเวอร์ของผู้ปฏิบัติงานแต่ละรายสามารถรองรับการทำงานของกระบวนการของผู้ปฏิบัติงานหนึ่งหรือหลายกระบวนการที่ให้บริการการเชื่อมต่อไคลเอ็นต์ภายในขอบเขตของคลัสเตอร์นี้
  • การรวมลูกค้าใหม่ในกระบวนการทำงานของคลัสเตอร์เกิดขึ้นจากการวิเคราะห์ระยะยาวของสถิติโหลดกระบวนการทำงาน
  • การโต้ตอบของกระบวนการคลัสเตอร์ทั้งหมดระหว่างกัน กับแอปพลิเคชันไคลเอนต์และเซิร์ฟเวอร์ฐานข้อมูลดำเนินการผ่านโปรโตคอล TCP/IP
  • กระบวนการคลัสเตอร์กำลังทำงานอยู่ อาจเป็นได้ทั้งบริการหรือแอปพลิเคชัน

ตัวเลือกไคลเอนต์เซิร์ฟเวอร์ โครงร่างการทำงาน

ในตัวเลือกนี้ แอปพลิเคชันไคลเอนต์โต้ตอบกับเซิร์ฟเวอร์ คลัสเตอร์เซิร์ฟเวอร์ในทางกลับกันจะโต้ตอบกับเซิร์ฟเวอร์ฐานข้อมูล

บทบาทของเซิร์ฟเวอร์กลางของคลัสเตอร์เล่นโดยคอมพิวเตอร์เครื่องใดเครื่องหนึ่งที่เป็นส่วนหนึ่งของคลัสเตอร์เซิร์ฟเวอร์ นอกเหนือจากการให้บริการการเชื่อมต่อไคลเอ็นต์แล้ว เซิร์ฟเวอร์กลางยังจัดการการทำงานของคลัสเตอร์ทั้งหมดและจัดเก็บรีจิสทรีของคลัสเตอร์นี้อีกด้วย

คลัสเตอร์ได้รับการแก้ไขสำหรับการเชื่อมต่อไคลเอนต์ตามชื่อของเซิร์ฟเวอร์กลางและอาจเป็นหมายเลขพอร์ตเครือข่าย หากใช้พอร์ตเครือข่ายมาตรฐานในการเชื่อมต่อคุณเพียงแค่ต้องระบุชื่อของเซิร์ฟเวอร์กลาง

ในระหว่างการสร้างการเชื่อมต่อ แอปพลิเคชันไคลเอนต์จะติดต่อกับเซิร์ฟเวอร์กลางของคลัสเตอร์ จากการวิเคราะห์สถิติการโหลดกระบวนการของผู้ปฏิบัติงาน เซิร์ฟเวอร์กลางจะส่งต่อแอปพลิเคชันไคลเอนต์ไปยังกระบวนการของผู้ปฏิบัติงานที่จำเป็น ซึ่งควรจะให้บริการ กระบวนการนี้สามารถเปิดใช้งานได้บนเซิร์ฟเวอร์ที่ทำงานใดๆ ในคลัสเตอร์ โดยเฉพาะบนเซิร์ฟเวอร์กลาง

เวิร์กโฟลว์นี้สนับสนุนการบำรุงรักษาการเชื่อมต่อและการตรวจสอบสิทธิ์ผู้ใช้จนกว่าไคลเอ็นต์จะหยุดทำงานกับฐานข้อมูลเฉพาะ

คลัสเตอร์เซิร์ฟเวอร์

คลัสเตอร์เซิร์ฟเวอร์พื้นฐานสามารถเป็นคอมพิวเตอร์เครื่องเดียวและมีกระบวนการของผู้ปฏิบัติงานเพียงกระบวนการเดียว

ในรูปคุณสามารถสังเกตองค์ประกอบทั้งหมดที่มีส่วนร่วมในการทำงานของคลัสเตอร์เซิร์ฟเวอร์ไม่ทางใดก็ทางหนึ่ง เหล่านี้คือองค์ประกอบต่อไปนี้:

  • กระบวนการคลัสเตอร์เซิร์ฟเวอร์:
    หรือ ragent.exe;
    หรือ rmngr.exe;
    หรือ rphost.exe;
  • การจัดเก็บข้อมูล:
    o รายชื่อคลัสเตอร์
    o รีจิสทรีคลัสเตอร์

กระบวนการ ragent.exe เรียกว่าเอเจนต์เซิร์ฟเวอร์ ช่วยให้มั่นใจว่าการทำงานของคอมพิวเตอร์เป็นส่วนหนึ่งของคลัสเตอร์ ดังนั้น คอมพิวเตอร์ที่กระบวนการ ragent.exe กำลังทำงานอยู่ควรจะเรียกว่าเซิร์ฟเวอร์ที่ใช้งานจริง โดยเฉพาะอย่างยิ่งหนึ่งในความรับผิดชอบด้านการทำงานของ ragent.exe คือการรักษารีจิสทรีของคลัสเตอร์ที่อยู่บนเซิร์ฟเวอร์ที่ทำงานเฉพาะ

ทั้งรีจิสทรีของคลัสเตอร์และเอเจนต์เซิร์ฟเวอร์ไม่ได้เป็นส่วนหนึ่งของคลัสเตอร์เซิร์ฟเวอร์ แต่เพียงเปิดใช้งานเซิร์ฟเวอร์และคลัสเตอร์ที่อยู่บนคลัสเตอร์เท่านั้นจึงจะสามารถทำงานได้

คลัสเตอร์เซิร์ฟเวอร์ประกอบด้วยองค์ประกอบต่อไปนี้:

  • กระบวนการ rmngr.exe หนึ่งกระบวนการขึ้นไป
  • รีจิสทรีคลัสเตอร์
  • กระบวนการ rphost.exe หนึ่งกระบวนการขึ้นไป

ตัวจัดการคลัสเตอร์ (กระบวนการ rmngr.exe) ทำหน้าที่ควบคุมการทำงานของคลัสเตอร์ทั้งหมด คลัสเตอร์อาจมีกระบวนการ rmngr.exe หลายกระบวนการ ซึ่งหนึ่งในนั้นจะเป็นผู้จัดการหลักของคลัสเตอร์นี้เสมอ และกระบวนการที่เหลือจะเป็นผู้จัดการเพิ่มเติม เซิร์ฟเวอร์กลางของคลัสเตอร์ควรเรียกว่าเซิร์ฟเวอร์ทำงานที่ตัวจัดการคลัสเตอร์หลักดำเนินการและมีรายการคลัสเตอร์ การดูแลรักษารีจิสทรีของคลัสเตอร์เป็นหนึ่งในฟังก์ชันของตัวจัดการคลัสเตอร์หลัก

กระบวนการของผู้ปฏิบัติงาน (กระบวนการ rphost.exe) เขาคือผู้ให้บริการแอปพลิเคชันไคลเอนต์โดยตรงโต้ตอบกับเซิร์ฟเวอร์ฐานข้อมูล ในระหว่างกระบวนการนี้ ขั้นตอนการกำหนดค่าโมดูลเซิร์ฟเวอร์บางอย่างอาจถูกดำเนินการ

ความสามารถในการปรับขนาดของ 1C เวอร์ชัน 8.3

ความสามารถในการปรับขนาดของคลัสเตอร์เซิร์ฟเวอร์ทำได้ด้วยวิธีต่อไปนี้:

  • เพิ่มจำนวนผู้จัดการในคลัสเตอร์และการกระจายบริการระหว่างกัน
  • เพิ่มจำนวนกระบวนการของผู้ปฏิบัติงานที่ทำงานบนเซิร์ฟเวอร์ของผู้ปฏิบัติงานที่กำหนด
  • เพิ่มจำนวนเซิร์ฟเวอร์ที่ทำงานซึ่งประกอบเป็นคลัสเตอร์

การใช้ผู้จัดการหลายคนพร้อมกัน

ฟังก์ชันที่ดำเนินการโดยตัวจัดการคลัสเตอร์จะแบ่งออกเป็นบริการต่างๆ บริการเหล่านี้สามารถกำหนดให้กับผู้จัดการคลัสเตอร์ที่แตกต่างกันได้ ทำให้สามารถกระจายโหลดไปยังกระบวนการต่างๆ ได้อย่างเท่าเทียมกัน

อย่างไรก็ตาม บริการบางอย่างสามารถใช้ได้โดยผู้จัดการคลัสเตอร์หลักเท่านั้น:

  • บริการกำหนดค่าคลัสเตอร์
  • บริการการจัดการรายการแก้ไขข้อบกพร่อง
  • บริการล็อคคลัสเตอร์

สำหรับบริการอื่นๆ อนุญาตให้กำหนดผู้จัดการคลัสเตอร์ตามอำเภอใจได้:

  • บริการบันทึก
  • บริการบล็อกวัตถุ
  • บริการงาน
  • บริการค้นหาข้อความแบบเต็ม
  • บริการข้อมูลเซสชั่น
  • บริการเลขหมาย
  • บริการการตั้งค่าแบบกำหนดเอง
  • บริการเวลา
  • บริการบล็อกธุรกรรม

การใช้เวิร์กโฟลว์หลายรายการพร้อมกัน

ประการหนึ่งการใช้กระบวนการทำงานหลายขั้นตอนทำให้สามารถลดภาระของแต่ละกระบวนการทำงานเฉพาะได้ ในทางกลับกัน การใช้กระบวนการของผู้ปฏิบัติงานหลายกระบวนการทำให้การใช้ทรัพยากรฮาร์ดแวร์ของเซิร์ฟเวอร์ที่ใช้งานจริงมีประสิทธิภาพมากขึ้น นอกจากนี้ ขั้นตอนการเปิดใช้งานกระบวนการทำงานต่างๆ ยังช่วยเพิ่มความน่าเชื่อถือของเซิร์ฟเวอร์ เนื่องจากแยกกลุ่มไคลเอนต์ที่ทำงานกับฐานข้อมูลที่แตกต่างกัน กระบวนการของผู้ปฏิบัติงานในคลัสเตอร์ที่อนุญาตให้กระบวนการของผู้ปฏิบัติงานหลายรายการสามารถเริ่มต้นใหม่ได้โดยอัตโนมัติภายในช่วงเวลาที่ผู้ดูแลระบบคลัสเตอร์ระบุไว้

ความสามารถในการใช้กระบวนการของผู้ปฏิบัติงานมากขึ้น (การเพิ่มจำนวนการเชื่อมต่อไคลเอ็นต์) โดยไม่เพิ่มภาระให้กับกระบวนการของผู้ปฏิบัติงานรายใดรายหนึ่ง ส่งผลให้จำนวนเซิร์ฟเวอร์ของผู้ปฏิบัติงานที่เป็นส่วนหนึ่งของคลัสเตอร์มีการเปลี่ยนแปลงสูงขึ้น

ความทนทานต่อข้อผิดพลาดของ 1C เวอร์ชัน 8.3

รับประกันความยืดหยุ่นต่อความล้มเหลวของคลัสเตอร์ด้วยสามวิธี:

  • ความซ้ำซ้อนของคลัสเตอร์เอง
  • การจองกระบวนการทำงาน
  • ความต้านทานต่อการหยุดชะงักของช่องทางการสื่อสาร

การสำรองข้อมูลคลัสเตอร์ 1C เวอร์ชัน 8.3

หลายคลัสเตอร์จะรวมกันเป็นกลุ่มสำรอง คลัสเตอร์ที่อยู่ในกลุ่มดังกล่าวจะถูกซิงโครไนซ์โดยอัตโนมัติ

หากคลัสเตอร์ที่ใช้งานอยู่ล้มเหลว จะถูกแทนที่ด้วยคลัสเตอร์การทำงานถัดไปในกลุ่ม เมื่อกู้คืนคลัสเตอร์ที่ล้มเหลวแล้ว คลัสเตอร์จะเริ่มทำงานหลังจากการซิงโครไนซ์ข้อมูล

การสำรองข้อมูลกระบวนการทำงาน 1C เวอร์ชัน 8.3

สำหรับแต่ละเวิร์กโฟลว์ คุณสามารถระบุตัวเลือกสำหรับการใช้งานได้:

  • ใช้
  • ไม่ได้ใช้
  • ใช้เป็นข้อมูลสำรอง

หากกระบวนการขัดข้อง คลัสเตอร์จะเริ่มใช้กระบวนการสำรองข้อมูลที่ไม่ได้ใช้งานในปัจจุบันแทน ในกรณีนี้ โหลดจะถูกกระจายโดยอัตโนมัติ

ความต้านทานของ 1C เวอร์ชัน 8.3 ต่อการหยุดชะงักของช่องทางการสื่อสาร

เนื่องจากผู้ใช้แต่ละรายได้รับเซสชันการสื่อสารของตนเอง คลัสเตอร์จึงจัดเก็บข้อมูลเกี่ยวกับผู้ใช้ที่เชื่อมต่อและการดำเนินการที่พวกเขาทำ

หากการเชื่อมต่อทางกายภาพหายไป คลัสเตอร์จะอยู่ในสถานะรอการเชื่อมต่อกับผู้ใช้รายนี้ ในกรณีส่วนใหญ่ หลังจากคืนค่าการเชื่อมต่อแล้ว ผู้ใช้จะสามารถทำงานต่อจากจุดที่การเชื่อมต่อขาดหายได้อย่างแน่นอน ไม่จำเป็นต้องเชื่อมต่อกับฐานข้อมูลอีกครั้ง

เซสชันใน 1C เวอร์ชัน 8.3

เซสชันทำให้สามารถระบุผู้ใช้ที่ใช้งานอยู่ของฐานข้อมูลเฉพาะและกำหนดโฟลว์การควบคุมจากไคลเอนต์นี้ได้ เซสชันประเภทต่อไปนี้มีความโดดเด่น:

  • Thin client, Web client, Thick client - เซสชันเหล่านี้เกิดขึ้นเมื่อไคลเอ็นต์ที่เกี่ยวข้องเข้าถึงฐานข้อมูล
  • การเชื่อมต่อประเภท "ตัวกำหนดค่า" - เกิดขึ้นเมื่อเข้าถึงฐานข้อมูลตัวกำหนดค่า
  • การเชื่อมต่อ COM – เกิดขึ้นเมื่อใช้การเชื่อมต่อภายนอกเพื่อเข้าถึงฐานข้อมูล
  • การเชื่อมต่อ WS – เกิดขึ้นเมื่อเข้าถึงฐานข้อมูลของเว็บเซิร์ฟเวอร์อันเป็นผลมาจากการเข้าถึงบริการบนเว็บที่เผยแพร่บนเว็บเซิร์ฟเวอร์
  • งานเบื้องหลัง – สร้างขึ้นเมื่อกระบวนการของผู้ปฏิบัติงานคลัสเตอร์เข้าถึงฐานข้อมูล เซสชันดังกล่าวใช้เพื่อรันโค้ดของขั้นตอนงานเบื้องหลัง
    คอนโซลคลัสเตอร์ – สร้างขึ้นเมื่อยูทิลิตี้การดูแลระบบไคลเอ็นต์-เซิร์ฟเวอร์เข้าถึงกระบวนการของผู้ปฏิบัติงาน
  • ผู้ดูแลระบบ COM – เกิดขึ้นเมื่อเข้าถึงกระบวนการของผู้ปฏิบัติงานโดยใช้การเชื่อมต่อภายนอก
  • ทำงานภายใต้ระบบปฏิบัติการที่แตกต่างกัน

กระบวนการคลัสเตอร์เซิร์ฟเวอร์ใดๆ สามารถทำงานได้ภายใต้ทั้งระบบปฏิบัติการ Linux และระบบปฏิบัติการ Windows สิ่งนี้เกิดขึ้นได้จากข้อเท็จจริงที่ว่าการโต้ตอบของคลัสเตอร์เกิดขึ้นภายใต้การควบคุมของโปรโตคอล TCP/IP คลัสเตอร์ยังสามารถรวมเซิร์ฟเวอร์ที่ทำงานที่ใช้ระบบปฏิบัติการเหล่านี้ได้ด้วย

ยูทิลิตี้การดูแลเซิร์ฟเวอร์คลัสเตอร์ 8.3

แพ็คเกจระบบประกอบด้วยยูทิลิตี้สำหรับการจัดการตัวเลือกไคลเอนต์-เซิร์ฟเวอร์ ยูทิลิตี้นี้ทำให้สามารถเปลี่ยนองค์ประกอบของคลัสเตอร์ จัดการฐานข้อมูล และวิเคราะห์การล็อกธุรกรรมได้อย่างรวดเร็ว

ก่อนอื่น หลังจากติดตั้งคลัสเตอร์ 1C แล้ว จำเป็นต้องสร้างเวิร์กโฟลว์ เมื่อปรากฎว่า กระบวนการคลัสเตอร์เริ่มถูกสร้างขึ้นโดยอัตโนมัติ ขึ้นอยู่กับโหลดของฐานข้อมูล

การทดสอบการทำงานพื้นหลังของฐานข้อมูลหลักทำให้คลัสเตอร์ 1C โอเวอร์โหลด rphost.exe อย่างไม่มีที่สิ้นสุด และไม่ต้องการสร้าง rphost.exe เพิ่มเติม หลังจากขุดผ่านการตั้งค่า ทุกอย่างก็ชัดเจน

หน่วยความจำเวิร์กโฟลว์สูงสุดคือจำนวนหน่วยความจำที่กระบวนการของผู้ปฏิบัติงานสามารถใช้ร่วมกันได้ คุณต้องระมัดระวังอย่างมากเมื่อตั้งค่าพารามิเตอร์โดยวัดเป็นไบต์ หากคุณตั้งค่าผิด (ไม่เพียงพอสำหรับการดำเนินการของผู้ใช้ปกติ) ผู้ใช้จะได้รับข้อผิดพลาด "หน่วยความจำว่างไม่เพียงพอบนเซิร์ฟเวอร์ 1C" คุณยังสามารถได้รับข้อผิดพลาดนี้เมื่อโควต้าหน่วยความจำบนเซิร์ฟเวอร์ 1C หมด

การใช้หน่วยความจำที่ปลอดภัยต่อการโทร– ช่วยให้คุณควบคุมการใช้หน่วยความจำระหว่างการเรียกเซิร์ฟเวอร์ โดยวัดเป็นไบต์ หากการโทรใช้หน่วยความจำมากกว่าที่คาดไว้ การโทรนี้จะเสร็จสิ้นภายในคลัสเตอร์ 1C โดยไม่ต้องรีสตาร์ทกระบวนการของผู้ปฏิบัติงาน (rphost.exe) ดังนั้น "ผู้แพ้" ที่ทำการเรียกเซิร์ฟเวอร์จะสูญเสียเซสชันของเขากับฐานข้อมูล 1C โดยไม่ส่งผลกระทบต่อการทำงานของผู้ใช้รายอื่น

ในหนึ่ง GB – 1073741824 ไบต์ ดังนั้นใน 2 GB – 2147483648 ไบต์

จำนวนหน่วยความจำสำหรับกระบวนการทำงานซึ่งเซิร์ฟเวอร์ถือว่ามีประสิทธิผล - หากเกินพารามิเตอร์นี้ เซิร์ฟเวอร์ในคลัสเตอร์ 1C จะหยุดยอมรับการเชื่อมต่อใหม่

จำนวนความปลอดภัยของข้อมูลต่อกระบวนการ– ช่วยให้คุณสามารถแยกฐานข้อมูลสำหรับกระบวนการทำงานได้ ตามค่าเริ่มต้น คลัสเตอร์ 1C ปัจจุบันถูกตั้งค่าเป็น “ 8 “ แต่ตลอดระยะเวลาการทำงานหลายชั่วโมง เซิร์ฟเวอร์มีพฤติกรรมไม่เสถียรอย่างมาก เซสชันผู้ใช้ค้าง หลังจากแยกแต่ละฐานข้อมูล (ค่า - “1”) ปัญหาก็หายไป

จำนวนการเชื่อมต่อต่อกระบวนการ– ค่าเริ่มต้น “ 128 - เนื่องจากฐานข้อมูลปัจจุบันมีภาระงานเบื้องหลังจำนวนมาก (การคำนวณด้านลอจิสติกส์ การวิเคราะห์รายการราคา การวิเคราะห์คู่แข่ง ฯลฯ) จึงตัดสินใจลดจำนวนลงเป็น "25"

การตั้งค่าของคลัสเตอร์ 1C นั้นเปลี่ยนไปเล็กน้อย:

ระดับความทนทานต่อข้อผิดพลาด– นี่คือจำนวนเซิร์ฟเวอร์ที่ทำงานซึ่งสามารถทำงานล้มเหลวพร้อมกันได้ และจะไม่นำไปสู่การยุติการใช้งานอย่างผิดปกติ บริการสำรองข้อมูลจะเปิดตัวโดยอัตโนมัติตามปริมาณที่จำเป็นเพื่อให้แน่ใจว่ามีความทนทานต่อข้อผิดพลาดที่ระบุ ในแบบเรียลไทม์ บริการที่ใช้งานอยู่จะถูกจำลองไปยังบริการสำรอง

โหลดโหมดการแชร์– มีสองตัวเลือกสำหรับพารามิเตอร์: “ลำดับความสำคัญตามประสิทธิภาพ” – ใช้หน่วยความจำเซิร์ฟเวอร์มากขึ้นและประสิทธิภาพสูงขึ้น “ลำดับความสำคัญตามหน่วยความจำ” – คลัสเตอร์ 1C บันทึกหน่วยความจำเซิร์ฟเวอร์

เซิร์ฟเวอร์ 8.3 มีลักษณะพิเศษคือโค้ดภายในที่ออกแบบใหม่ แม้ว่า "จากภายนอก" อาจดูเหมือนเป็นเวอร์ชัน 8.2 ที่ได้รับการแก้ไขเล็กน้อย

เซิร์ฟเวอร์มี "การกำหนดค่าอัตโนมัติ" มากขึ้น พารามิเตอร์บางอย่าง เช่น จำนวนกระบวนการของผู้ปฏิบัติงาน จะไม่ถูกสร้างขึ้นด้วยตนเองอีกต่อไป แต่คำนวณตามคำอธิบายข้อกำหนดของความทนทานต่อข้อผิดพลาดและงานความน่าเชื่อถือ

ซึ่งจะช่วยลดโอกาสที่เซิร์ฟเวอร์จะกำหนดค่าไม่ถูกต้อง และลดข้อกำหนดคุณสมบัติสำหรับผู้ดูแลระบบลง

กลไกการปรับสมดุลโหลดได้รับการพัฒนาซึ่งสามารถใช้เพื่อเพิ่มประสิทธิภาพของระบบโดยรวม หรือใช้โหมด "ประหยัดหน่วยความจำ" ใหม่ ซึ่งช่วยให้คุณทำงาน "ด้วยหน่วยความจำที่จำกัด" ในกรณีที่การกำหนดค่า ใช้คำว่า “ชอบกินความจำ”

ความเสถียรของการทำงานเมื่อใช้หน่วยความจำจำนวนมากจะถูกกำหนดโดยพารามิเตอร์ใหม่ของเซิร์ฟเวอร์ที่ใช้งานจริง

พารามิเตอร์ "การใช้หน่วยความจำที่ปลอดภัยต่อการโทร" มีความน่าสนใจเป็นพิเศษ สำหรับผู้ที่ไม่ค่อยรู้ว่ามันคืออะไร ไม่ควรฝึกแบบ "มีประสิทธิผล" จะดีกว่า พารามิเตอร์ "ขนาดหน่วยความจำสูงสุดของกระบวนการทำงาน" อนุญาตให้ในกรณี "ล้น" ไม่ให้ขัดข้องกระบวนการทำงานทั้งหมด แต่จะมีเพียงเซสชันเดียว "กับผู้แพ้" “ จำนวนหน่วยความจำกระบวนการทำงานซึ่งเซิร์ฟเวอร์ถือว่ามีประสิทธิผล” ช่วยให้คุณสามารถบล็อกการเชื่อมต่อใหม่ได้ทันทีที่เกินเกณฑ์หน่วยความจำนี้

ฉันแนะนำให้แยกกระบวนการทำงานตามฐานข้อมูล เช่น ระบุพารามิเตอร์ “จำนวนความปลอดภัยของข้อมูลต่อกระบวนการ = 1” ด้วยฐานข้อมูลที่มีการโหลดสูงจำนวนมาก สิ่งนี้จะลดอิทธิพลร่วมกันทั้งในด้านความน่าเชื่อถือและประสิทธิภาพ

การสนับสนุนที่แยกต่างหากเพื่อความเสถียรของระบบนั้นมาจาก "ค่าใช้จ่าย" ของใบอนุญาต/คีย์ ใน 8.3 มีความเป็นไปได้ที่จะใช้ "ตัวจัดการลิขสิทธิ์ซอฟต์แวร์" ซึ่งชวนให้นึกถึงตัวจัดการ "aladin" เป้าหมายคือสามารถวางกุญแจไว้บนเครื่องแยกต่างหากได้

มันถูกนำไปใช้เป็น “บริการ” อื่นในตัวจัดการคลัสเตอร์ คุณสามารถใช้แล็ปท็อป "ฟรี" ได้ เพิ่มลงในคลัสเตอร์ 1C 8.3 สร้างผู้จัดการแยกต่างหากด้วยบริการ "บริการลิขสิทธิ์" คุณสามารถใส่คีย์ hasp ของฮาร์ดแวร์ลงในแล็ปท็อปของคุณ หรือเปิดใช้งานลิขสิทธิ์ซอฟต์แวร์ได้

สิ่งที่น่าสนใจที่สุดสำหรับโปรแกรมเมอร์ควรเป็น "ข้อกำหนดในการกำหนดฟังก์ชันการทำงาน"

ข้อกำหนดสำหรับฟังก์ชันการทำงานที่ได้รับมอบหมายของ 1c

ดังนั้นบนแล็ปท็อปที่มีรหัสความปลอดภัย เพื่อไม่ให้ผู้ใช้เปิดใช้งานบนเซิร์ฟเวอร์คลัสเตอร์ คุณต้องเพิ่ม "ข้อกำหนด" สำหรับออบเจ็กต์ข้อกำหนด "การเชื่อมต่อไคลเอ็นต์กับความปลอดภัยของข้อมูล" - "อย่ากำหนด" เช่น ป้องกันไม่ให้กระบวนการของผู้ปฏิบัติงานบนเซิร์ฟเวอร์นี้ประมวลผลการเชื่อมต่อไคลเอ็นต์

สิ่งที่น่าสนใจยิ่งกว่านั้นคือความสามารถในการรัน “งานพื้นหลังเท่านั้น” บนเซิร์ฟเวอร์ที่ใช้งานจริงของคลัสเตอร์โดยไม่มีเซสชันผู้ใช้ วิธีนี้ทำให้คุณสามารถย้ายงานที่โหลดสูง (โค้ด) ไปยังเครื่องอื่นได้ นอกจากนี้ คุณสามารถรันงานพื้นหลังหนึ่งงานในการ "ปิดเดือน" โดยใช้ "ค่าของพารามิเตอร์เพิ่มเติม" บนคอมพิวเตอร์เครื่องหนึ่ง และงานพื้นหลัง "การอัปเดตดัชนีข้อความแบบเต็ม" ในอีกเครื่องหนึ่ง การชี้แจงเกิดขึ้นผ่านการบ่งชี้ "ค่าของ พารามิเตอร์เพิ่มเติม” ตัวอย่างเช่น หากคุณระบุ BackgroundJob.CommonModule เป็นค่า คุณสามารถจำกัดการทำงานของเซิร์ฟเวอร์ผู้ปฏิบัติงานในคลัสเตอร์ให้เหลือเฉพาะงานพื้นหลังที่มีเนื้อหาใดๆ ได้ ค่า BackgroundJob.CommonModule<Имя модуля>.<Имя метода>– จะระบุรหัสเฉพาะ

บ่อยครั้งที่บริการอื่น ๆ ทำงานบนเครื่องพร้อมกับเซิร์ฟเวอร์ 1C: Enterprise - เซิร์ฟเวอร์เทอร์มินัล, เซิร์ฟเวอร์ SQL เป็นต้น และในบางจุดเซิร์ฟเวอร์ 1C:Enterprise หรือกระบวนการของผู้ปฏิบัติงาน rphost จะกินหน่วยความจำมากกว่าที่วางแผนไว้หรือหน่วยความจำทั้งหมด ซึ่งนำไปสู่การชะลอตัวของบริการอื่น ๆ และซอมบี้ของเซิร์ฟเวอร์ เพื่อหลีกเลี่ยงสถานการณ์ดังกล่าว คุณต้องกำหนดค่าการรีสตาร์ทอัตโนมัติของเวิร์กโฟลว์เซิร์ฟเวอร์ 1C:Enterprise

สารละลาย

1. เปิดคอนโซลการดูแลระบบของเซิร์ฟเวอร์ 1C Enterprise
2. ขยายแผนผังเซิร์ฟเวอร์กลางเป็นคลัสเตอร์ และเลือกคลัสเตอร์ที่เราสนใจ ในตัวอย่างมีเพียงคลัสเตอร์เดียวเท่านั้น
3. เปิดคุณสมบัติของคลัสเตอร์ที่เลือกและดูแบบฟอร์มต่อไปนี้

คุณสมบัติของคลัสเตอร์เซิร์ฟเวอร์ 1C:Enterprise 8.3

ลองดูตัวอย่างที่แสดงในภาพ:

รีสตาร์ทช่วงเวลา— เวลาที่กระบวนการ rphost จะถูกบังคับให้รีสตาร์ท ก่อนที่กระบวนการจะยุติ กระบวนการ rphost ใหม่จะถูกเรียกใช้งาน ซึ่งการเชื่อมต่อทั้งหมดจะถูกถ่ายโอนไปยัง และจากนั้นเท่านั้นที่กระบวนการเก่าจะยุติลง ซึ่งจะไม่ส่งผลกระทบต่อประสบการณ์ของผู้ใช้แต่อย่างใด ช่วงเวลาจะแสดงเป็นวินาที โดยในตัวอย่างนี้ระบุ 24 ชั่วโมง

ขนาดหน่วยความจำที่อนุญาต— จำนวนหน่วยความจำที่เวิร์กโฟลว์สามารถทำงานได้โดยไม่มีปัญหา ปริมาตรระบุเป็นกิโลไบต์ ในตัวอย่างนี้มีค่า 20 กิกะไบต์ (อันที่จริงตัวเลขมีขนาดใหญ่เกินไปและคุณต้องเริ่มจากระบบเฉพาะ แต่ตัวเลขเฉลี่ยคือ 4 GB) ทันทีที่หน่วยความจำที่กระบวนการทำงานครอบครองเกินค่าที่ระบุ การนับถอยหลังจะเริ่มขึ้น

ช่วงเวลาสำหรับการเกินจำนวนหน่วยความจำที่อนุญาต— หลังจากที่ตัวจับเวลาเริ่มทำงานหลังจากเกินจำนวนหน่วยความจำที่อนุญาตนับถอยหลังตามเวลาที่กำหนด กระบวนการของผู้ปฏิบัติงานใหม่จะเปิดตัว ซึ่งการเชื่อมต่อทั้งหมดจะถูกถ่ายโอน กระบวนการเก่าจะถูกทำเครื่องหมายเป็นปิดใช้งาน ช่วงเวลาระบุเป็นวินาที โดยในตัวอย่างนี้ระบุ 30 วินาที

หยุดกระบวนการที่ถูกปิดใช้งานหลังจากนั้น— เวลาที่เวิร์กโฟลว์ที่ทำเครื่องหมายว่าปิดใช้งานจะหยุดลง หากค่าเป็น 0 กระบวนการจะไม่เสร็จสมบูรณ์ ช่วงเวลาระบุเป็นวินาที โดยในตัวอย่างนี้ระบุ 60 วินาที

หลังจากใช้การตั้งค่า คุณไม่จำเป็นต้องรีสตาร์ทบริการเซิร์ฟเวอร์ แต่จะนำไปใช้แบบไดนามิก

ทั้งหมด

นี่คือวิธีที่เราตั้งค่าการรีสตาร์ทอัตโนมัติของกระบวนการทำงานของเซิร์ฟเวอร์ 1C:Enterprise และได้รับระบบที่เสถียรยิ่งขึ้น หากเกิดหน่วยความจำรั่ว การทำงานของเซสชันเฉพาะจะสิ้นสุดลง

นอกจากนี้ ในบางสถานการณ์ คุณสามารถเล่นกับการตั้งค่าและป้องกันไม่ให้เซิร์ฟเวอร์ล่มหากคุณทำผิดพลาด

เมื่อวานนี้เราได้อัปเดตซอฟต์แวร์เซิร์ฟเวอร์ทั้งหมด เรามาพูดถึงคุณสมบัติใหม่ที่น่าสนใจที่สุดของคลัสเตอร์เซิร์ฟเวอร์ 1C:Enterprise 8.3 กันดีกว่า

คุณสามารถดูวิธีตั้งค่าคลัสเตอร์เซิร์ฟเวอร์สำหรับ 1C:Enterprise 8.2 ได้ในส่วนก่อนหน้า ฉันจะไม่เน้นบางประเด็นเพราะได้อธิบายไปแล้วก่อนหน้านี้

ดังนั้นสิ่งที่เปลี่ยนแปลงไปใน 1C:Enterprise 8.3 CLUSTER:

ก่อนอื่น หลังจากติดตั้งคลัสเตอร์ 1C:Enterprise 8.3 แล้ว จำเป็นต้องสร้างเวิร์กโฟลว์ ปรากฎว่ากระบวนการคลัสเตอร์จะถูกสร้างขึ้นโดยอัตโนมัติ ขึ้นอยู่กับภาระงานในระบบบัญชี

การทดลองใช้งานพื้นหลังของฐานข้อมูลหลักทำให้คลัสเตอร์ 1C:Enterprise 8.3 โอเวอร์โหลดอย่างไม่มีที่สิ้นสุด rphost.exeและเพิ่มเติม rphost.exeฉันไม่ต้องการถูกสร้างขึ้น หลังจากขุดผ่านการตั้งค่า ทุกอย่างก็ชัดเจน

หน่วยความจำเวิร์กโฟลว์สูงสุดคือจำนวนหน่วยความจำที่กระบวนการของผู้ปฏิบัติงานสามารถใช้ร่วมกันได้ คุณต้องระมัดระวังอย่างมากเมื่อตั้งค่าพารามิเตอร์ที่วัดได้ ไบต์- หากคุณตั้งค่าผิด (ไม่เพียงพอสำหรับการดำเนินการของผู้ใช้ปกติ) ผู้ใช้จะได้รับข้อผิดพลาด "มีหน่วยความจำว่างไม่เพียงพอบนเซิร์ฟเวอร์ 1C:Enterprise" คุณยังสามารถได้รับข้อผิดพลาดนี้เมื่อโควต้าหน่วยความจำบนเซิร์ฟเวอร์ 1C:Enterprise หมด

การใช้หน่วยความจำที่ปลอดภัยต่อการโทร- ช่วยให้คุณควบคุมการใช้หน่วยความจำระหว่างการเรียกเซิร์ฟเวอร์ โดยวัดเป็น ไบต์- หากการโทรใช้หน่วยความจำมากกว่าที่คาดไว้ การโทรนี้จะเสร็จสิ้นภายในคลัสเตอร์ 1C โดยไม่ต้องรีสตาร์ทกระบวนการของผู้ปฏิบัติงาน ( rphost.exe- ดังนั้น "ผู้แพ้" ที่ทำการเรียกเซิร์ฟเวอร์จะสูญเสียเซสชันกับฐานข้อมูลโดยไม่ส่งผลกระทบต่อการทำงานของผู้ใช้รายอื่น

จำนวนหน่วยความจำกระบวนการทำงานซึ่งเซิร์ฟเวอร์ถือว่ามีประสิทธิผล- หากเกินพารามิเตอร์นี้ เซิร์ฟเวอร์ในคลัสเตอร์ 1C:Enterprise 8.3 จะหยุดยอมรับการเชื่อมต่อใหม่

จำนวนความปลอดภัยของข้อมูลต่อกระบวนการ- ช่วยให้คุณสามารถแยกฐานข้อมูลสำหรับกระบวนการทำงานได้ ตามค่าเริ่มต้น คลัสเตอร์ 1C:Enterprise 8.3 ปัจจุบันถูกตั้งค่าเป็น "8" แต่เป็นเวลาหลายชั่วโมงที่เซิร์ฟเวอร์มีพฤติกรรมไม่เสถียร เซสชันผู้ใช้ค้าง หลังจากแยกแต่ละฐานข้อมูล (ค่า - “1”) ปัญหาก็หายไป

จำนวนการเชื่อมต่อต่อกระบวนการ- ค่าเริ่มต้นคือ “128” เนื่องจากฐานข้อมูลปัจจุบันมีภาระงานเบื้องหลังจำนวนมาก (การคำนวณด้านลอจิสติกส์ การวิเคราะห์รายการราคา การวิเคราะห์คู่แข่ง ฯลฯ) จึงตัดสินใจลดจำนวนลงเป็น "25"

การตั้งค่าของคลัสเตอร์ 1C:Enterprise 8.3 มีการเปลี่ยนแปลงเล็กน้อย:


ระดับความทนทานต่อข้อผิดพลาด- นี่คือจำนวนเซิร์ฟเวอร์ที่ทำงานซึ่งสามารถทำงานล้มเหลวพร้อมกันได้โดยไม่ทำให้ผู้ใช้เสียหาย บริการสำรองข้อมูลจะเปิดตัวโดยอัตโนมัติตามปริมาณที่จำเป็นเพื่อให้แน่ใจว่ามีความทนทานต่อข้อผิดพลาดที่ระบุ ในแบบเรียลไทม์ บริการที่ใช้งานอยู่จะถูกจำลองไปยังบริการสำรอง

โหลดโหมดการแชร์- มีสองตัวเลือกสำหรับพารามิเตอร์: "ลำดับความสำคัญตามประสิทธิภาพ" - ใช้หน่วยความจำเซิร์ฟเวอร์มากขึ้นและประสิทธิภาพสูงขึ้น "ลำดับความสำคัญตามหน่วยความจำ" - คลัสเตอร์ "1C: Enterprise 8.3" ช่วยบันทึกหน่วยความจำเซิร์ฟเวอร์

แทนที่จะเป็นคำหลังคลัสเตอร์ 1C:Enterprise 8.3 ทำงานเร็วขึ้นอย่างเห็นได้ชัดและเชื่อถือได้มากขึ้น การสร้างเซสชันผู้ใช้ด้วยฐานข้อมูลจะเร็วขึ้นหลายเท่า อินเทอร์เฟซในโหมดความเข้ากันได้กับ 1C:Enterprise 8.2.16 ใครๆ ก็บอกว่าบินได้ แน่นอนว่ามีความแตกต่างกัน แต่เราจะอยู่ที่ไหนถ้าไม่มีมัน? ขอให้โชคดีในการตั้งค่าคลัสเตอร์ 1C:Enterprise 8.3 ใหม่

มีการเปลี่ยนแปลงอะไรบ้างในคลัสเตอร์ 1C 8.3:

ก่อนอื่น หลังจากติดตั้งคลัสเตอร์ 1C แล้ว จำเป็นต้องสร้างเวิร์กโฟลว์ ปรากฏว่ากระบวนการคลัสเตอร์เริ่มถูกสร้างขึ้นโดยอัตโนมัติขึ้นอยู่กับโหลดของฐานข้อมูล

การทดลองใช้งานพื้นหลังของฐานข้อมูลหลักทำให้คลัสเตอร์ 1C โอเวอร์โหลด rphost.exe อย่างไม่มีที่สิ้นสุด และไม่ต้องการสร้าง rphost.exe เพิ่มเติม หลังจากขุดผ่านการตั้งค่า ทุกอย่างก็ชัดเจน

หน่วยความจำเวิร์กโฟลว์สูงสุด คือจำนวนหน่วยความจำที่กระบวนการของผู้ปฏิบัติงานสามารถใช้ร่วมกันได้ คุณต้องระมัดระวังอย่างมากเมื่อตั้งค่าพารามิเตอร์ที่วัดได้ ไบต์- หากคุณตั้งค่าผิด (ไม่เพียงพอต่อการใช้งานปกติของผู้ใช้)ผู้ใช้ จะเกิดข้อผิดพลาด "มีหน่วยความจำว่างไม่เพียงพอบนเซิร์ฟเวอร์ 1C" นอกจากนี้คุณยังสามารถได้รับข้อผิดพลาดนี้เมื่อโควต้าหน่วยความจำบนเซิร์ฟเวอร์ 1C หมด

การใช้หน่วยความจำที่ปลอดภัยต่อการโทร- ช่วยให้คุณควบคุมการใช้หน่วยความจำระหว่างการเรียกเซิร์ฟเวอร์ โดยวัดใน ไบต์- หากการโทรใช้หน่วยความจำมากกว่าที่คาดไว้ การโทรนี้จะเสร็จสิ้นภายในคลัสเตอร์ 1C โดยไม่ต้องรีสตาร์ทกระบวนการของผู้ปฏิบัติงาน (rphost.exe) ดังนั้น "ผู้แพ้" ที่ทำการเรียกเซิร์ฟเวอร์จะสูญเสียเซสชันของเขากับฐานข้อมูล 1C โดยไม่ส่งผลกระทบต่อการทำงานของผู้ใช้รายอื่น

จำนวนหน่วยความจำกระบวนการทำงานซึ่งเซิร์ฟเวอร์ถือว่ามีประสิทธิผล- ที่ หากเกินพารามิเตอร์นี้ เซิร์ฟเวอร์ในคลัสเตอร์ 1C จะหยุดยอมรับการเชื่อมต่อใหม่

จำนวนความปลอดภัยของข้อมูลต่อกระบวนการ- ช่วยให้คุณสามารถแยกฐานข้อมูลสำหรับกระบวนการทำงานได้ ตามค่าเริ่มต้น คลัสเตอร์ 1C ปัจจุบันถูกตั้งค่าเป็น- "8" แต่ในช่วงหลายชั่วโมงของการทำงาน เซิร์ฟเวอร์เริ่มไม่เสถียรอย่างมาก เซสชันผู้ใช้ค้าง หลังจากแยกแต่ละฐานข้อมูลแล้ว (value- "1") ปัญหาก็หมดไป

จำนวนการเชื่อมต่อต่อกระบวนการ- ค่าเริ่มต้นคือ "128" เนื่องจากฐานข้อมูลปัจจุบันมีภาระงานเบื้องหลังจำนวนมาก (การคำนวณด้านลอจิสติกส์ การวิเคราะห์รายการราคา การวิเคราะห์คู่แข่ง ฯลฯ) จึงตัดสินใจลดจำนวนลงเป็น "25"

การตั้งค่าของคลัสเตอร์ 1C นั้นเปลี่ยนไปเล็กน้อย:

ระดับความทนทานต่อข้อผิดพลาด- นี้ จำนวนเซิร์ฟเวอร์ที่ทำงานซึ่งสามารถล้มเหลวพร้อมกันได้โดยไม่ทำให้ผู้ใช้เสียหาย บริการสำรองข้อมูลจะเปิดตัวโดยอัตโนมัติตามปริมาณที่จำเป็นเพื่อให้แน่ใจว่ามีความทนทานต่อข้อผิดพลาดที่ระบุ ในแบบเรียลไทม์ บริการที่ใช้งานอยู่จะถูกจำลองไปยังบริการสำรอง

โหลดโหมดการแชร์ - มีสองตัวเลือกสำหรับพารามิเตอร์: "ลำดับความสำคัญตามประสิทธิภาพ" - ใช้หน่วยความจำเซิร์ฟเวอร์มากขึ้นและประสิทธิภาพสูงขึ้น "ลำดับความสำคัญตามหน่วยความจำ" - คลัสเตอร์ 1C บันทึกหน่วยความจำเซิร์ฟเวอร์

แทนที่จะเป็นคำหลังคลัสเตอร์ 1C 8.3 ทำงานเร็วขึ้นอย่างเห็นได้ชัดและเชื่อถือได้มากขึ้น การสร้างเซสชันผู้ใช้ด้วยฐานข้อมูลนั้นเร็วขึ้นหลายเท่า อินเทอร์เฟซในโหมดความเข้ากันได้กับ 1C 8.2.16 อาจกล่าวได้ว่าบินได้ แน่นอนว่ามีความแตกต่างกัน แต่เราจะอยู่ที่ไหนถ้าไม่มีมัน? ขอให้โชคดีในการตั้งค่าคลัสเตอร์ 1C 8.3 ใหม่