คอมพิวเตอร์ หน้าต่าง อินเทอร์เน็ต

วิธีปิดโปรแกรมที่ค้าง วิธีปิดโปรแกรมที่ค้าง เมื่อเริ่มต้น 1 วินาทีไม่ตอบสนอง

1) ดูจำนวนหน่วยความจำที่จัดสรรโดย rphost บนเซิร์ฟเวอร์ 1C หากคุณมีเซิร์ฟเวอร์เวอร์ชัน x32 กระบวนการจะสามารถใช้ RAM ได้สูงสุด 1.75 GB
หากมีหน่วยความจำไม่เพียงพอ เซิร์ฟเวอร์จะไม่สามารถยอมรับการเชื่อมต่อใหม่หรือหยุดทำงานเมื่อเซสชันปัจจุบันต้องการหน่วยความจำเพิ่ม
www.viva64.com/ru/k/0036
2) ดูการตั้งค่า "การตั้งค่าของเซิร์ฟเวอร์ที่ใช้งานได้" อาจมีการตั้งค่าที่ไม่ถูกต้อง ฉันมีปัญหาเดียวกันและเซิร์ฟเวอร์ยังคงหยุดทำงาน การตั้งค่าของฉันอยู่ในไฟล์แนบ เซิร์ฟเวอร์ได้รับการจัดสรร 11 GB
3) อาจมีปัญหาในการตั้งค่า Postgressql

ระบุลักษณะเซิร์ฟเวอร์ ขนาดฐานข้อมูล การกำหนดค่า Postgressql มันยากที่จะพูดโดยไม่มีข้อมูล

การกำหนดค่า PostgreSQL ของฉัน: https://drive.google.com/file/d/0B2qGCc-vzEVDMERVW...
การกำหนดค่านี้ตรงกับจำนวน RAM ที่มีอยู่
PostgreSQL ติดตั้งบน Linux, 3 GB RAM, 3 คอร์ CPU
เซิร์ฟเวอร์ 1C8: 11 GB RAM, 5 คอร์ CPU
4 ฐาน แต่ละฐานประมาณ 1 GB (อัปโหลดไปยัง dt)

ระบุคุณลักษณะทั้งหมดของเซิร์ฟเวอร์ของคุณ: เซิร์ฟเวอร์ 1C8 และฐานข้อมูลจริงหรือฐานข้อมูลเสมือน, ระบบปฏิบัติการ, จำนวน RAM บนเซิร์ฟเวอร์แต่ละเครื่อง, CPU ใด, RAM เท่าใดที่กระบวนการ rphost ใช้ไป, มีจำนวนเท่าใด คุณใช้อาร์เรย์ RAID หรือไม่

ก่อนหน้านี้ ตัวฉันเองใช้ PostgreSQL แต่ในกระบวนการนี้ ฉันพบปัญหาบางอย่างเมื่อทำงานกับฐานข้อมูลบน PostgreSQL และเพิ่งเปลี่ยนมาใช้ MS SQL

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

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

1) คุณตรวจสอบฐานข้อมูลและทำดัชนีใหม่นานแค่ไหนแล้ว? สูญญากาศและ REINDEX
2) คุณได้ทำการทดสอบและแก้ไขฐานข้อมูลโดยใช้ 1C เป็นเวลานานหรือไม่?
3) ไฟล์บันทึกฐานข้อมูลถูกย้ายไปยัง HDD แยกต่างหากหรือไม่
4) HDD โหลดหนักหรือไม่?

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

หากคุณมีคำถามใด ๆ โปรดเขียน บางทีฉันสามารถช่วยคุณได้ที่ Skype: tisartisar

จ้างผู้เชี่ยวชาญด้านฐานข้อมูล

ทำไมเราถึงเปลี่ยนมาใช้ MS SQL:
เราใช้การกำหนดค่า UT และเมื่อสิ้นเดือนบางครั้งมีข้อผิดพลาดที่ไม่สามารถแก้ไขได้ แต่อย่างใด หากคุณถ่ายโอนฐานข้อมูลไปยังโหมดไฟล์และเริ่มปิดเดือน ทุกอย่างจะปิดตามปกติ ฐานข้อมูลเดียวกันถูกอัปโหลดไปยังเซิร์ฟเวอร์ PostgreSQL เมื่อคำนวณค่าใช้จ่าย เกิดข้อผิดพลาดขึ้น ในขณะนั้นเราช้ากว่าเดือนที่ปิดครึ่งปีเนื่องจากเกิดข้อผิดพลาดแบบลอยตัว เราสร้างฐานข้อมูลทดสอบบน MS SQL และเดือนที่ไม่สามารถปิด PostgreSQL บน MS Sql ได้ถูกปิด นอกจากนี้ การปัดเศษของราคาในรายการราคายังทำงานไม่ถูกต้องบน PostgreSQL ที่จริงแล้วรองรับการทำงานของ 1C บน PostgreSQL แต่ก็ยังแนะนำให้ใช้ MS SQl
ด้วยเหตุนี้จึงตัดสินใจเปลี่ยนไปใช้ MS SQL ความเสถียรของ 1C นั้นแพงกว่า

ฉันดีใจที่สามารถช่วยได้ โปรดติดต่อฉันหากคุณมีคำถามหรือปัญหาใดๆ

1) จัดสรรหน่วยความจำให้กับเซิร์ฟเวอร์ MS SQL เท่าใด สิ่งนี้ได้รับการกำหนดค่าในเซิร์ฟเวอร์ MS SQL เอง
2) ทดสอบฐานข้อมูลโดยใช้เครื่องมือ 1C เป็นประจำ
3) บทความเกี่ยวกับวิธีการตั้งค่าการสำรองข้อมูลและการบำรุงรักษา นี่เป็นสิ่งสำคัญและควรทำอย่างสม่ำเสมอ ฉันทำทุกวัน ตรวจสอบทั้ง 3 ส่วนของคู่มือ

บทความนี้กล่าวถึงปัจจัยหลัก: เมื่อ 1C ช้าลง 1C ค้าง และ 1C ทำงานช้าลง ข้อมูลนี้จัดทำขึ้นจากประสบการณ์หลายปีของ SoftPoint ในการเพิ่มประสิทธิภาพระบบไอทีขนาดใหญ่ที่สร้างขึ้นจากการรวมกันของ 1C + MS SQL

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

จากการปฏิบัติ: เป็นการง่ายที่สุดในการปรับให้เหมาะสม 1C v7.7 (การปรับให้เหมาะสมของ 1C 8.1, 1C 8.2, 1C 8.3 เป็นงานที่ยากกว่าเนื่องจากแอปพลิเคชันประกอบด้วย 3 ลิงก์) การรับผู้ใช้พร้อมกันสูงสุด 400 คนเป็นโครงการทั่วไป ถึง 1,500 เป็นเรื่องยากแล้วต้องทำงานหนัก

ตำนานที่สอง: เพื่อปรับปรุงประสิทธิภาพของ 1C และกำจัดการค้างของ 1C คุณต้องติดตั้งเซิร์ฟเวอร์ที่มีประสิทธิภาพมากขึ้น ตามกฎแล้วในโครงการเพิ่มประสิทธิภาพใน 95% ของกรณี เป็นไปได้ที่จะได้รับประสิทธิภาพที่ยอมรับได้ไม่ว่าจะไม่มีการอัปเกรดเลยหรือโดยการอัปเดตอุปกรณ์ในส่วนที่ไม่มีนัยสำคัญ เช่น โดยการเพิ่ม RAM ในเวลาเดียวกัน ควรสังเกตว่าอุปกรณ์ยังคงต้องใช้เซิร์ฟเวอร์ โดยเฉพาะระบบย่อยของดิสก์ ระบบย่อยของดิสก์ที่ล้าสมัยเป็นเพียงสาเหตุหนึ่งที่ทำให้ 1C ทำงานช้า

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

รูปที่ 1 คิวบล็อก 1C ในระบบตรวจสอบ PerfExpert พร้อมข้อมูลเกี่ยวกับผู้ใช้ 1C โมดูลการกำหนดค่า และบรรทัดรหัสเฉพาะในโมดูลนี้

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

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

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

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

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

นอกเหนือจากการเรียกใช้รายงานจำนวนมากแล้ว การตั้งค่าที่ไม่เหมาะสมของ MS SQL และ MS Windows อาจทำให้เวลาการดำเนินการของการดำเนินการช้าลง ดังนั้นจึงเพิ่มความเข้มของการบล็อก 1C ปัญหานี้พบได้ใน 95% ของลูกค้า ควรสังเกตว่าสิ่งเหล่านี้เป็นเซิร์ฟเวอร์ขององค์กรที่จริงจัง และแผนกทั้งหมดของผู้ดูแลระบบที่มีคุณสมบัติเหมาะสมมีส่วนร่วมในการสนับสนุนและการกำหนดค่า

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

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

เมื่อมองแวบแรก ภาพจะชัดเจน - คุณต้องปรับแต่งทุกอย่างที่ทำให้เซิร์ฟเวอร์ 1C ทำงานช้าลง แต่ลองนึกภาพตัวเราแทนที่เครื่องมือเพิ่มประสิทธิภาพดังกล่าว - สมมติว่าเรามี 1C 8.1 8.2 8.3 SCP และผู้ใช้ 50 คนทำงานพร้อมกัน วันหนึ่งที่เลวร้าย ผู้ใช้เริ่มบ่นว่า 1C ช้า และเราจำเป็นต้องแก้ปัญหานี้

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

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

ขั้นตอนต่อไปคือการตรวจสอบว่าโปรแกรมใดโหลด MS SQL การตรวจสอบแสดงว่าโหลดถูกสร้างขึ้นจากการเชื่อมต่อเซิร์ฟเวอร์แอปพลิเคชันประมาณ 20 รายการ

จากการปฏิบัติ: โปรแกรมที่อัปเดตข้อมูลอย่างรวดเร็วบนเว็บไซต์ติดขัด และแทนที่จะอัปเดตทุก 4 ชั่วโมง กลับทำโดยไม่หยุด ไม่มีการหยุดชั่วคราว โหลดเซิร์ฟเวอร์อย่างหนัก และปิดกั้นข้อมูล

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

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

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

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

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

ไม่ว่าในกรณีใด เพื่อแก้ปัญหาประสิทธิภาพ 1C เราขอแนะนำให้คุณซื้อและใช้การตรวจสอบประสิทธิภาพก่อน PerfExpert ซึ่งจะช่วยให้คุณตัดสินใจในการจัดการได้อย่างถูกต้องและประหยัดเงิน ผลิตภัณฑ์นี้เหมาะสำหรับทั้ง IS 1C: Enterprise ขนาดเล็ก - ผู้ใช้สูงสุด 50 คนและสำหรับระบบ - จากผู้ใช้ 1,000 คน ตั้งแต่เดือนกรกฎาคม 2558 การติดตามผลการปฏิบัติงาน PerfExpert ได้รับใบรับรอง 1C: Compatible ได้รับการทดสอบในไมโครซอฟท์ และช่วยแก้ปัญหาด้านประสิทธิภาพไม่เฉพาะกับระบบ 1C เท่านั้น แต่ยังรวมถึงระบบข้อมูลอื่น ๆ ที่ใช้ MS SQL Server (Axapta, CRM Dynamics, Doc Vision และอื่นๆ)

หากคุณชอบข้อมูล ขั้นตอนต่อไปที่แนะนำคือ:

- หากคุณต้องการจัดการกับปัญหาประสิทธิภาพทางเทคนิคของ 1C (1C 7.7, 1C 8.1, 1C 8.2,1C 8.3) และระบบข้อมูลอื่นๆจากนั้น รายชื่อบทความทางเทคนิคที่ไม่ซ้ำใครใน Almanac ของเรา (การล็อกและการหยุดชะงัก การโหลด CPU และดิสก์จำนวนมาก การบำรุงรักษาฐานข้อมูล และการปรับดัชนีเป็นเพียงส่วนเล็กๆ ของเอกสารทางเทคนิคที่คุณจะพบที่นั่น)
.
- หากคุณต้องการหารือเกี่ยวกับปัญหาด้านประสิทธิภาพกับผู้เชี่ยวชาญของเรา หรือสั่งซื้อโซลูชันการตรวจสอบประสิทธิภาพ PerfExpertจากนั้นฝากคำขอไว้ แล้วเราจะติดต่อกลับโดยเร็วที่สุด

ผู้เชี่ยวชาญด้านไอทีรู้จักกันดี การร้องเรียนของผู้ใช้ "แฮงค์ 1C" มีหลายสาเหตุ ในการทำ "การวินิจฉัย" ที่ถูกต้อง - เพื่อระบุและวิเคราะห์ปัญหา - จำเป็นต้องทำซ้ำเนื่องจากปัญหาที่ไม่สามารถทำซ้ำได้นั้นตามกฎแล้วแทบจะเป็นไปไม่ได้เลยที่จะแก้ไข เมื่อเข้าใจอาการของการแช่แข็ง 1C แล้ว เราจะก้าวไปสู่ระบบที่มีประสิทธิภาพ

การเริ่มต้นระบบที่ยาวนานมาก

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

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

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

มีความเป็นไปได้ที่การกำหนดค่าเมื่อเริ่มต้นพยายามอ่านข้อมูลจากอินเทอร์เน็ต นอกจากนี้ยังเพิ่มเวลาเริ่มต้นระบบ

เวลาเปิดนานมาก

การเปิดแบบฟอร์มนานอาจเกิดจาก:

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

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

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

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

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

ในการแก้ปัญหาแรก คุณควรใช้ "การวัดประสิทธิภาพ" ค้นหาอัลกอริทึมที่ใช้ทรัพยากรมาก และปรับให้เหมาะสม


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

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

การตอบสนองต่อการอัปเดตช้ามาก

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

ควรสังเกตว่า 1C 8.3 ค้างระหว่างการอัปเดตบ่อยที่สุดเช่นกัน เนื่องจากต้องใช้ฮาร์ดแวร์ที่ใช้ทรัพยากรมากกว่าแพลตฟอร์มเวอร์ชันก่อนหน้า ควรให้ความสนใจกับจำนวน RAM และถ้าจำเป็นให้เพิ่ม - โดยหลักการแล้วสิ่งนี้จะช่วยในการแก้ปัญหา "1C ค้างเมื่ออัปเดตการกำหนดค่า"

การบันทึกวัตถุระยะยาว/การโพสต์เอกสาร

ในกรณีนี้ "การรักษาภาพถ่าย" นั้นไม่ได้รับการยกเว้น เนื่องจากเหตุผลอาจมีความหลากหลายมาก โดยเริ่มจากข้อมูลจำนวนมากในวัตถุ และลงท้ายด้วยการรอล็อก

แต่ในกรณีนี้ก็เป็นไปได้ที่จะกำหนดทิศทางสำหรับการวิเคราะห์

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

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


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

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

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

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

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

การใช้ทรัพยากรอย่างรวดเร็ว

ก่อนเริ่มการศึกษานี้ เราตั้งเป้าหมายไว้สองประการ: เพื่อค้นหาว่าการกำหนดค่าตามแอปพลิเคชันที่มีการจัดการนั้นช้ากว่าการกำหนดค่าทั่วไปจริง ๆ หรือไม่ และทรัพยากรใดมีผลกระทบสูงสุดต่อประสิทธิภาพการทำงาน

สำหรับการทดสอบ เราใช้เครื่องเสมือน 2 เครื่องที่ใช้ Windows Server 2012 R2 และ Windows 8.1 ตามลำดับ โดยมี 2 คอร์ของโฮสต์ Core i5-4670 และ RAM 2 GB ซึ่งสอดคล้องกับเครื่องสำนักงานทั่วไป เซิร์ฟเวอร์ถูกวางไว้บนอาร์เรย์ RAID 0 สองแถว และไคลเอ็นต์ถูกวางไว้บนดิสก์เอนกประสงค์ที่คล้ายกัน

ในฐานะที่เป็นฐานการทดลอง เราได้เลือกการกำหนดค่าต่างๆ ของ Accounting 2.0 เผยแพร่ 2.0.64.12 ซึ่งต่อมาได้ปรับปรุงเป็น 3.0.38.52 การกำหนดค่าทั้งหมดทำงานบนแพลตฟอร์ม 8.3.5.1443 .

สิ่งแรกที่ดึงดูดความสนใจคือขนาดฐานข้อมูลที่เพิ่มขึ้นของ Troika และเติบโตขึ้นอย่างมากรวมถึงความต้องการ RAM ที่มากขึ้น:

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

ในขณะเดียวกัน ฐานข้อมูล 1C เป็น DBMS เต็มรูปแบบในรูปแบบของตนเอง ซึ่งต้องมีการบำรุงรักษาด้วย และสำหรับสิ่งนี้ยังมีเครื่องมือที่เรียกว่า การทดสอบและแก้ไขฐานข้อมูล. บางทีชื่อนี้อาจฟังดูตลกร้าย ซึ่งดูเหมือนจะบอกเป็นนัยว่านี่เป็นเครื่องมือสำหรับการแก้ไขปัญหา แต่ประสิทธิภาพที่ไม่ดีก็เป็นปัญหาเช่นกัน และการปรับโครงสร้างและการจัดทำดัชนีใหม่ พร้อมกับการบีบอัดตาราง เป็นเครื่องมือเพิ่มประสิทธิภาพฐานข้อมูลที่รู้จักกันดีสำหรับผู้ดูแลระบบ RDBMS ทุกคน มาตรวจสอบกัน?

หลังจากใช้การกระทำที่เลือก ฐานข้อมูล "ลดน้ำหนัก" ลงอย่างมาก โดยมีขนาดเล็กกว่า "สอง" ซึ่งไม่มีใครปรับให้เหมาะสมเลย และการใช้ RAM ก็ลดลงเล็กน้อยเช่นกัน

ต่อจากนั้น หลังจากโหลดตัวแยกประเภทและไดเร็กทอรีใหม่ สร้างดัชนี ฯลฯ ขนาดของฐานจะโตขึ้น โดยทั่วไปฐานของ "สาม" จะใหญ่กว่าฐานของ "สอง" อย่างไรก็ตาม สิ่งนี้ไม่ได้สำคัญไปกว่านั้น หากเวอร์ชันที่สองมี RAM 150-200 MB เวอร์ชันใหม่ก็ต้องการความจุครึ่งกิกะไบต์แล้ว และค่านี้ควรนำมาพิจารณาเมื่อวางแผนทรัพยากรที่จำเป็นในการทำงานกับโปรแกรม .

สุทธิ

แบนด์วิธเครือข่ายเป็นหนึ่งในพารามิเตอร์ที่สำคัญที่สุดสำหรับแอปพลิเคชันเครือข่าย โดยเฉพาะอย่างยิ่งเมื่อเป็น 1C ในโหมดไฟล์ การย้ายข้อมูลจำนวนมากผ่านเครือข่าย เครือข่ายส่วนใหญ่ขององค์กรขนาดเล็กสร้างขึ้นจากอุปกรณ์ราคาไม่แพง 100 Mbps ดังนั้นเราจึงเริ่มทดสอบโดยเปรียบเทียบตัวบ่งชี้ประสิทธิภาพของ 1C ในเครือข่าย 100 Mbps และ 1 Gbps

จะเกิดอะไรขึ้นเมื่อคุณเริ่มฐานไฟล์ 1C ผ่านเครือข่าย ไคลเอนต์ดาวน์โหลดข้อมูลจำนวนมากไปยังโฟลเดอร์ชั่วคราว โดยเฉพาะอย่างยิ่งหากเป็นการเปิด "เย็น" ครั้งแรก ที่ความเร็ว 100 Mbps เราคาดว่าแบนด์วิธจะเต็ม และการดาวน์โหลดอาจใช้เวลานานพอสมควร ในกรณีของเราคือประมาณ 40 วินาที (ราคาของการแบ่งกราฟคือ 4 วินาที)

การเปิดใช้ครั้งที่สองจะเร็วขึ้น เนื่องจากข้อมูลบางส่วนถูกเก็บไว้ในแคชและยังคงอยู่จนกว่าจะรีบูต การเปลี่ยนไปใช้เครือข่ายกิกะบิตสามารถเพิ่มความเร็วในการโหลดโปรแกรมได้อย่างมากทั้ง "เย็น" และ "ร้อน" และสังเกตอัตราส่วนของค่าต่างๆ ดังนั้นเราจึงตัดสินใจที่จะแสดงผลลัพธ์ในแง่สัมพัทธ์ โดยรับค่าที่ใหญ่ที่สุดของการวัดแต่ละครั้งเป็น 100%:

ดังที่คุณเห็นจากกราฟ Accounting 2.0 โหลดเร็วขึ้นสองเท่าที่ความเร็วเครือข่ายใดๆ การเปลี่ยนจาก 100 Mbps เป็น 1 Gbps ช่วยให้คุณเพิ่มความเร็วในการดาวน์โหลดได้ถึงสี่เท่า ไม่มีความแตกต่างระหว่างฐานข้อมูล Troika ที่ได้รับการปรับให้เหมาะสมและไม่ได้รับการเพิ่มประสิทธิภาพในโหมดนี้

เรายังตรวจสอบผลกระทบของความเร็วเครือข่ายต่อการใช้งานหนัก เช่น ระหว่างการโฮสต์ใหม่แบบกลุ่ม ผลลัพธ์จะแสดงในแง่สัมพัทธ์:

ที่นี่น่าสนใจกว่าอยู่แล้วฐานที่ปรับให้เหมาะสมของ "troika" ในเครือข่าย 100 Mbit / s ทำงานที่ความเร็วเดียวกับ "สอง" และฐานที่ไม่ได้รับการปรับแต่งจะแสดงผลลัพธ์ที่แย่กว่าสองเท่า ในกิกะบิต อัตราส่วนจะถูกรักษาไว้ "สาม" ที่ไม่ได้ปรับให้เหมาะสมนั้นช้ากว่า "สอง" ถึงสองเท่า และตัวที่ปรับให้เหมาะสมจะช้ากว่าหนึ่งในสาม นอกจากนี้ การเปลี่ยนไปใช้ 1 Gb / s ยังช่วยให้คุณลดเวลาในการดำเนินการลงสามเท่าสำหรับเวอร์ชัน 2.0 และสองเท่าสำหรับเวอร์ชัน 3.0

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

อันที่จริง สำหรับงานประจำวัน แบนด์วิธของเครือข่ายไม่ใช่คอขวด "สาม" ที่ไม่ได้รับการปรับให้เหมาะสมจะช้ากว่าสองเพียง 20% และหลังจากการเพิ่มประสิทธิภาพปรากฎว่าเร็วขึ้นเท่าๆ กัน - ข้อดีของการทำงานในโหมดไคลเอ็นต์แบบบางจะส่งผลต่อ การเปลี่ยนไปใช้ 1 Gb / s ไม่ได้ให้ประโยชน์ใด ๆ กับฐานที่ปรับให้เหมาะสม และฐานที่ไม่ได้รับการปรับให้เหมาะสมและผีสางเริ่มทำงานเร็วขึ้น ซึ่งแสดงให้เห็นความแตกต่างเล็กน้อยระหว่างกัน

จากการทดสอบที่ดำเนินการ เห็นได้ชัดว่าเครือข่ายไม่ใช่คอขวดสำหรับการกำหนดค่าใหม่ และแอปพลิเคชันที่ได้รับการจัดการจะทำงานได้เร็วกว่าปกติ คุณยังสามารถแนะนำให้เปลี่ยนเป็น 1 Gb/s หากงานหนักและความเร็วในการโหลดฐานข้อมูลมีความสำคัญต่อคุณ ในกรณีอื่นๆ การกำหนดค่าใหม่จะช่วยให้คุณทำงานได้อย่างมีประสิทธิภาพแม้ในเครือข่าย 100 Mb/s ที่ช้า

เหตุใด 1C จึงช้าลง เราจะตรวจสอบเพิ่มเติม

ระบบย่อยดิสก์เซิร์ฟเวอร์และ SSD

ในบทความก่อนหน้านี้ เราประสบความสำเร็จในการเพิ่มประสิทธิภาพ 1C โดยการวางฐานข้อมูลบน SSD บางทีประสิทธิภาพของระบบย่อยของดิสก์เซิร์ฟเวอร์อาจไม่เพียงพอ? เราวัดประสิทธิภาพของดิสก์เซิร์ฟเวอร์ระหว่างกลุ่มที่ทำงานในสองฐานข้อมูลพร้อมกันและได้ผลลัพธ์ที่ค่อนข้างดี

แม้จะมีจำนวนการดำเนินการอินพุต / เอาต์พุตต่อวินาที (IOPS) ที่ค่อนข้างสูง - 913 แต่ความยาวของคิวก็ไม่เกิน 1.84 ซึ่งเป็นผลลัพธ์ที่ดีมากสำหรับอาร์เรย์สองดิสก์ เราสามารถตั้งสมมติฐานได้ว่ามิเรอร์จากดิสก์ธรรมดาจะเพียงพอสำหรับการทำงานปกติของไคลเอนต์เครือข่าย 8-10 เครื่องในโหมดใช้งานหนัก

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

เริ่มจากความเร็วในการโหลดฐานข้อมูล

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

ไปที่การให้รางวัล:

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

ในงานประจำวัน ภาพจะคล้ายกัน:

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

ระบบย่อยดิสก์ไคลเอ็นต์และ SSD

เราได้วิเคราะห์อิทธิพลของ SSD ที่มีต่อความเร็วของ 1C ที่ติดตั้งในเครื่อง ซึ่งส่วนใหญ่ได้รับการกล่าวขานว่าเป็นความจริงเช่นกันสำหรับการทำงานในโหมดเครือข่าย แท้จริงแล้ว 1C ใช้ทรัพยากรดิสก์อย่างแข็งขันรวมถึงงานพื้นหลังและงานตามกำหนดเวลา ในภาพด้านล่าง คุณจะเห็นว่า Accounting 3.0 เข้าถึงดิสก์ได้ค่อนข้างมากเป็นเวลาประมาณ 40 วินาทีหลังจากการโหลด

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

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

แกะ

แม้ว่าตอนนี้ RAM จะมีราคาถูกอย่างไม่น่าเชื่อ แต่เวิร์กสเตชันจำนวนมากยังคงทำงานต่อไปด้วยจำนวนหน่วยความจำที่ติดตั้งเมื่อซื้อมา นี่คือปัญหาแรกรออยู่ จากข้อเท็จจริงที่ว่า "troika" โดยเฉลี่ยต้องการหน่วยความจำประมาณ 500 MB เราสามารถสันนิษฐานได้ว่าจำนวน RAM ทั้งหมด 1 GB ที่จะทำงานกับโปรแกรมจะไม่เพียงพอ

เราลดหน่วยความจำระบบลงเหลือ 1 GB และเปิดตัวฐานข้อมูลสองฐาน

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

มันนำไปสู่ที่ไหน? มาดูกันว่าทรัพยากรระบบถูกใช้อย่างไรในการดำเนินการจำนวนมาก เช่น เรามาเริ่มการรันซ้ำแบบกลุ่มในสองฐานข้อมูลพร้อมกัน อันดับแรกในระบบที่มี RAM 2 GB:

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

ตอนนี้มาลดหน่วยความจำเป็น 1 GB:

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

ในเวลาเดียวกันแม้แต่การทำงานแบบอัตนัยกับฐานข้อมูลเปิดสองฐานข้อมูลบนระบบที่มีหน่วยความจำ 1 GB กลับกลายเป็นว่าไม่สะดวกอย่างยิ่ง ไดเร็กทอรีและนิตยสารเปิดขึ้นด้วยความล่าช้าอย่างมากและการเข้าถึงดิสก์ที่ใช้งานอยู่ ตัวอย่างเช่น การเปิดนิตยสารการขายสินค้าและบริการใช้เวลาประมาณ 20 วินาที และมีการทำงานของดิสก์สูงตลอดเวลา (เน้นด้วยเส้นสีแดง)

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

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

การขาด RAM เป็นสาเหตุหลักที่ทำให้การทำงานกับการกำหนดค่า 1C ใหม่ไม่สะดวก ควรพิจารณาการกำหนดค่าที่เหมาะสมขั้นต่ำด้วยหน่วยความจำ 2 GB บนเครื่อง ในขณะเดียวกัน โปรดทราบว่าในกรณีของเรา เงื่อนไข "เรือนกระจก" ถูกสร้างขึ้น: ระบบที่สะอาด มีเพียง 1C และตัวจัดการงานเท่านั้นที่เปิดตัว ในชีวิตจริง เบราว์เซอร์ ชุดโปรแกรมสำนักงาน โปรแกรมป้องกันไวรัส ฯลฯ มักจะเปิดบนคอมพิวเตอร์ที่ใช้งานได้ ดังนั้นดำเนินการต่อจากความต้องการ 500 MB ต่อฐานข้อมูลบวกส่วนต่างเพื่อที่ว่าในระหว่างการดำเนินการหนัก คุณจะไม่ขาด ของหน่วยความจำและการเสื่อมประสิทธิภาพอย่างมาก

ซีพียู

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

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

ข้อสรุป

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

อันดับสองควรมอบให้กับประสิทธิภาพของเครือข่าย ช่องสัญญาณ 100 Mbps ที่ช้าอาจกลายเป็นคอขวดที่แท้จริง แต่ในขณะเดียวกันโหมดไคลเอนต์แบบบางก็สามารถรักษาระดับการทำงานที่ค่อนข้างสบายแม้ในช่องสัญญาณที่ช้า

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

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

เราหวังว่าเนื้อหานี้จะช่วยให้คุณเข้าใจคำถามที่ว่า "ทำไม 1C ช้าลง" อย่างรวดเร็ว และแก้ปัญหาได้อย่างมีประสิทธิภาพสูงสุดโดยไม่มีค่าใช้จ่ายเพิ่มเติม

  • แท็ก:

โปรดเปิดใช้งาน JavaScript เพื่อดู

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

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

สิ่งที่ไม่ควรทำ:

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

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

3) ทำการเคลื่อนไหวพิเศษ- หากเนื่องจากโปรแกรมค้าง ระบบปฏิบัติการของคุณเริ่มทำงานช้าลงมาก การกระทำที่ไม่จำเป็นใด ๆ จะทำให้สถานการณ์แย่ลงเท่านั้น โดยการกระทำที่ไม่จำเป็น ฉันหมายถึงการพยายามรีสตาร์ทโปรแกรมที่ค้าง (ไม่ว่าในกรณีใดควรทำ) เปิดโปรแกรมอื่น ๆ เปิดเมนูเริ่มหรือเมนูอื่น หากสถานการณ์วิกฤตเป็นพิเศษ คุณไม่ควรเลื่อนเมาส์เพียงอย่างเดียว เนื่องจากเคอร์เซอร์อาจค้างและจะแก้ปัญหาได้ยากขึ้น

4) รอเป็นเวลานานมาก- ตามกฎแล้วการรอห้านาทีก็เพียงพอแล้วเพื่อที่จะเข้าใจว่าโปรแกรมหยุดทำงานหากคุณมีคอมพิวเตอร์ที่อ่อนแอให้รอ 15 ถึง 20 นาที โดยปกติจะไม่มีประโยชน์ที่จะรอต่อไป

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

สิ่งที่ควรทำ

คุณต้องพยายามปิดโปรแกรมหากคลิกที่กากบาทที่มุมบนขวาและชุดค่าผสม alt + f4 ไม่ได้ผล คุณต้องทำสิ่งต่อไปนี้:

กดคีย์ผสมเพื่อเรียกตัวจัดการงาน:

สำหรับ Windows xp “Ctrl + Alt + Del”

สำหรับ Windows 7 "Ctrl + Shift + Esc"

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

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

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