เพื่อนร่วมงาน เราจะนำเสนอบทความเกี่ยวกับนิตยสารเทคโนโลยีต่อไป
วันนี้เราจะแสดงแนวทางปฏิบัติในการวิเคราะห์บันทึก TJ
บทความอื่นๆ จากซีรีส์ Technology Magazine:
การวิเคราะห์บันทึกทางเทคโนโลยี
คุณจะเรียนรู้อะไรจากบทความนี้?
- มาดูล็อกอินกันดีกว่า 1C: องค์กร 8
- มาศึกษารูปแบบบันทึกโดยละเอียดกัน นิตยสารเทคโนโลยี
- ลองดูตัวอย่างบันทึกที่มีข้อมูลที่บันทึกไว้
มาดูกันว่าเกิดอะไรขึ้นถ้าเราสร้างไฟล์ logcfg.xmlด้วยโครงสร้างข้างต้นและวางไว้ในไดเร็กทอรี "C:\ไฟล์โปรแกรม\1Cv82\conf"
รอ 60 วินาทีแล้วเปิดไดเร็กทอรี "C:\1C_ข้อมูล\บันทึก", เพราะ นี่คือสิ่งที่เราระบุไว้ในบรรทัดที่ 3 ของไฟล์ ล็อกซีเอฟจี
ถ้าไดเร็กทอรี 1C_ข้อมูลไม่ได้อยู่ในดิสก์ดังนั้นเซิร์ฟเวอร์ 1C จะพยายามสร้างมันขึ้นมา แต่มีความเสี่ยงที่ผู้ใช้ที่ใช้บริการ 1C อยู่จะไม่มีสิทธิ์ ดังนั้นจึงขอแนะนำให้สร้างไดเร็กทอรีสำหรับบันทึกด้วยตนเองและตรวจสอบว่าเซิร์ฟเวอร์ 1C มีสิทธิ์เขียนลงในไดเร็กทอรีนี้หรือไม่
ด้วยเหตุนี้เราจะเห็นไดเร็กทอรีย่อย 3 ไดเร็กทอรีในไดเร็กทอรี
แต่ละกระบวนการของคลัสเตอร์ได้สร้างไดเร็กทอรีที่มีบันทึกเฉพาะสำหรับกระบวนการนี้และตั้งแต่นั้นเป็นต้นมา ฉันมีเพียง 3 กระบวนการเท่านั้น ดังนั้นจึงมี 3 ไดเรกทอรีด้วย
ไดเร็กทอรีถูกสร้างขึ้นโดยใช้เทมเพลต ProcessName_PIDกระบวนการ พีไอดีจำเป็นเพื่อแยกแยะระหว่างกระบวนการที่มีชื่อเดียวกัน
ไฟล์บันทึกจะถูกตั้งชื่อตามรูปแบบ YMMMDDHCH.log
หากบันทึกเก่ากว่าจำนวนชั่วโมงที่ระบุในพารามิเตอร์ ประวัติศาสตร์ไฟล์ ล็อกซีเอฟจีจากนั้นแพลตฟอร์มจะลบออกโดยอัตโนมัติ
มาดูรูปแบบบันทึกเทคโนโลยีให้ละเอียดยิ่งขึ้น
เหตุการณ์จะถูกเขียนลงในบันทึกหลังจากเสร็จสิ้นแล้วเท่านั้น เนื่องจาก จำเป็นต้องบันทึกระยะเวลาของเหตุการณ์
บรรทัดบันทึกมีรูปแบบ:
มม:ss.ttt-d,<ИмяСобытия>, <Уровень>, <Свойства>
มม– หมายเลขนาทีในชั่วโมงปัจจุบัน
เอสเอส– จำนวนวินาทีในนาทีปัจจุบัน
ททท– จำนวนหนึ่งในหมื่นของวินาทีปัจจุบัน สำหรับ 8.3 จะแสดงจำนวนหนึ่งในล้านไว้ที่นี่
ง– ระยะเวลาของเหตุการณ์ในหนึ่งหมื่นวินาที หรือ 8.3 ในล้าน
<ИмяСобытия> – ชื่อของกิจกรรม
<Уровень> – ระดับเหตุการณ์บนสแต็กของเธรดปัจจุบัน
<Свойства> - คุณสมบัติเหตุการณ์คั่นด้วยเครื่องหมายจุลภาค ค่าคุณสมบัติคั่นด้วยเครื่องหมาย «=» .
ลองดูด้วยตัวอย่าง
มีบันทึกที่มีเนื้อหาดังต่อไปนี้:
00:16 - นี่คือนาทีและวินาทีของการสิ้นสุดกิจกรรม วันที่และเวลาของเหตุการณ์สามารถนำมาจากชื่อของไฟล์บันทึก งานสิ้นสุดวันที่ 6 เมษายน 2558 เวลา 11:00 นาที 16 วินาที 8640 – สำหรับ 8.2 นี่คือหนึ่งในพันของวินาที และเป็นเวลา 8.3 - หนึ่งในล้านของวินาทีที่เหตุการณ์สิ้นสุดลง 1 คือระยะเวลาของกิจกรรม ใน 8.2 ระยะเวลาระบุเป็นสิบในพันของวินาที ใน 8.3 ในล้านของวินาที หากคุณต้องการตั้งค่าตัวกรองระยะเวลา คุณสามารถใช้ชื่อคุณสมบัติ "ระยะเวลา" DBMSSQLเป็นชื่อของงาน ในกรณีนี้ การดำเนินการตามคำสั่ง MS SQL Server DBMS 3 – ระดับเหตุการณ์ ถัดไปคือคุณสมบัติของเหตุการณ์ DBMSSQLและแต่ละเหตุการณ์จะมีชุดคุณสมบัติของตัวเอง คุณสามารถดูรายการคุณสมบัติทั้งหมดสำหรับเหตุการณ์ทั้งหมดได้ในคู่มือผู้ดูแลระบบ เราจะมาดูคุณสมบัติของเหตุการณ์ปัจจุบันอย่างละเอียดยิ่งขึ้นที่นี่เท่านั้น กระบวนการ– อธิบายกระบวนการในการเขียนบันทึกนี้ กิจกรรมทั้งหมดมีคุณสมบัตินี้ ในกรณีของฉัน บันทึกกระบวนการ rphost จะถูกเขียน P:ชื่อกระบวนการ– ชื่อของฐานข้อมูล 1C เหตุการณ์ถูกสร้างขึ้นในฐานข้อมูลที่เรียกว่า Deadlock T:clientID- ตัวระบุการเชื่อมต่อกับไคลเอนต์ผ่าน TCP T: ชื่อแอปพลิเคชัน– ตัวระบุโปรแกรมไคลเอ็นต์ เหล่านั้น. ใครเป็นต้นเหตุของเหตุการณ์นี้จริงๆ ในกรณีของฉัน มันเป็นงานเบื้องหลัง T:connectID– หมายเลขเชื่อมต่อกับฐานข้อมูล รหัสเซสชัน– หมายเลขเซสชันที่กำหนดให้กับเธรดปัจจุบัน หากเธรดปัจจุบันไม่ได้กำหนดเซสชัน คุณสมบัติจะไม่ถูกเพิ่ม สหรัฐ– ชื่อของผู้ใช้ฐานข้อมูลที่โฟลว์นี้ถูกดำเนินการ หากไม่ได้กำหนดผู้ใช้ ค่า DefUser จะถูกทดแทน ทรานส์– แสดงว่าธุรกรรมเปิดอยู่ตั้งแต่เริ่มต้นเหตุการณ์หรือไม่ 1 – เปิด, 0 – ไม่ dbpid– หมายเลขการเชื่อมต่อของเซิร์ฟเวอร์ 1C กับเซิร์ฟเวอร์ฐานข้อมูล SQL– ข้อความของคำสั่ง SQL ส่วนใหญ่มักมีข้อความของการสืบค้น SQL พร้อมพารามิเตอร์ แถว– จำนวนแถวที่แบบสอบถามส่งคืน แถวได้รับผลกระทบ– จำนวนแถวที่แบบสอบถามเปลี่ยนแปลงในฐานข้อมูล บริบท– รหัสบรรทัดใดในภาษา 1C ที่สร้างเหตุการณ์นี้ น่าจะเป็นงานที่น่าสนใจที่สุดสำหรับเราเบอร์มิสตรอฟ อันเดรย์
ในบทความต่อไปนี้ เราจะดูที่ “เหตุการณ์” รวมถึงการกรองเหตุการณ์ต่างๆ ทีเจ.
ในระหว่างนี้ ให้แนบเนื้อหาที่ได้รับเข้ากับฐานข้อมูลการทดสอบของคุณ :)
(หรือส่วนที่ใช้ตัวกรอง) เช่น
— รหัสปฏิบัติการ 1C:Enterprise 8;
— รหัส Transact-SQL สำหรับ DBMS
— การกระทำเชิงโต้ตอบของผู้ใช้
- ข้อความแสดงข้อผิดพลาด
บันทึก. หากยังไม่ได้เขียน TJ ให้ให้สิทธิ์ทุกคนในโฟลเดอร์นี้ (ชั่วคราวเพื่อให้แน่ใจว่าสิทธิ์นั้นถูกต้อง)
3) ไม่ควรมีไฟล์ที่ไม่เกี่ยวข้องในไดเร็กทอรีบันทึกทางเทคโนโลยี ไดเร็กทอรีที่มีไฟล์ที่ไม่เกี่ยวข้องจะไม่อนุญาตให้สร้างบันทึก
4) อย่าเก็บดัมพ์และบันทึกไว้ด้วยกัน เพราะหลังจากช่วงเวลาที่กำหนด (ค่าเริ่มต้น 1 ชั่วโมง) เนื้อหาจะถูกลบออกจนหมดและคุณจะสูญเสียดัมพ์
การตั้งค่า
เป็นการดีกว่าที่จะกำหนดค่า TJ (โดยใช้ตัวกรอง - แท็ก logcfg.xml) สำหรับเหตุการณ์ที่กำลังศึกษาเท่านั้น อย่ารวบรวมส่วนที่เหลือ มิฉะนั้นคุณจะพบกับ "พื้นที่ดิสก์ไม่เพียงพอ" และทำให้ประสิทธิภาพของเซิร์ฟเวอร์ช้าลง
1) การกำหนดค่าตัวกรองโดยใช้การประมวลผลทำได้ง่ายกว่าด้วยการตั้งค่า ITS ของ Technological Journal.epf แต่ในขณะเดียวกัน โปรดจำไว้ว่าคุณสมบัติใหม่ของรุ่นล่าสุดอาจไม่รวมอยู่ในการส่งคืน (แต่ละเวอร์ชันใหม่จะเพิ่มคุณสมบัติใหม่ นั่นคือ ไม่สะท้อนให้เห็นในการประมวลผล) ในกรณีนี้ ให้ปรับไฟล์ logcfg.xml ด้วยตนเอง
2) หากต้องการหยุดการรวบรวมบันทึก เพียงเปลี่ยนชื่อไฟล์ ไม่จำเป็นต้องรีสตาร์ทเซิร์ฟเวอร์ การตั้งค่าจะถูกคำนวณใหม่ทุก ๆ นาที “ทันที”
3) กำหนดค่า logcfg.xml เพื่อกรองเหตุการณ์เพื่อความปลอดภัยของข้อมูลเฉพาะ ใช้ “p:processName=”
4) http://users.v8.1c.ru/Adm1936.aspx - ตัวอย่างการตั้งค่า
รายละเอียด
เป็นที่ชัดเจนว่าการรวบรวมบันทึกยังไม่เพียงพอ แต่ยังต้องได้รับการประมวลผลเพื่อแก้ไขปัญหาเฉพาะ
1) ความยากในการอ่าน TJ:
— ต้องมีความเข้าใจที่ดีเกี่ยวกับสถาปัตยกรรมระบบ
— ข้อความคำขอได้รับการลงทะเบียนในภาษาภายในของ 1C:Enterprise และในภาษา DBMS
2) ไฟล์บันทึกเทคโนโลยีจะถูกจัดเก็บไว้ในไดเร็กทอรีย่อย ชื่อของแต่ละไดเร็กทอรีย่อยของบันทึกเทคโนโลยีของกระบวนการหนึ่งจะมีลักษณะดังนี้:<ИмяПроцесса>_<ИдентификаторПроцесса>ตัวอย่างเช่น: rphost_4076 ชื่อไฟล์บันทึกถูกระบุโดยเทมเพลต YYMMDDHCH.log ตัวอย่างเช่น ในบันทึก 07051819.log ชื่อไฟล์จะถูกสร้างขึ้นจาก 18 พฤษภาคม 2550 เวลา 19 ชั่วโมง)
3) บันทึกสำหรับการวิเคราะห์สามารถอัปโหลดไปยัง Excel ได้โดยใช้เครื่องหมายจุลภาคเป็นตัวคั่น เป็นต้น
หากคุณต้องการใช้บันทึกเพื่อวิเคราะห์ข้อความแสดงข้อผิดพลาด ให้ใช้บริการฟรี
หากคุณไม่พบคำตอบสำหรับคำถามของคุณ มาขยายเนื้อหากันดีกว่า
— รหัสปฏิบัติการ 1C:Enterprise 8;
— รหัส Transact-SQL สำหรับ DBMS
— การกระทำเชิงโต้ตอบของผู้ใช้
— ข้อความแสดงข้อผิดพลาด;
- หน่วยความจำรั่ว
ในกรณีที่มีการยุติอย่างผิดปกติ บันทึกจะช่วยให้คุณสามารถถ่ายโอนข้อมูลหน่วยความจำและคัดลอกหน้าจอเพื่อส่งไปยังนักพัฒนาได้
หากต้องการเปิดใช้งานบันทึกทางเทคโนโลยี คุณต้อง:
สร้างไฟล์ logcfg.xml ในโฟลเดอร์ C:\Program Files (x86)\1cv82\8.2.15.301\bin\conf (เส้นทาง - ไดเรกทอรี 1C Enterprise) บนเซิร์ฟเวอร์ 1C Enterprise
หลังจากนี้ คุณจะต้องเขียนเส้นทางไปยังโฟลเดอร์ที่สร้างขึ้นในไฟล์ logcfg.xml (โดยที่ เส้นทางที่ระบุ 1 เป็นเส้นทางไปยังบันทึก และเส้นทางที่ระบุ 2 เป็นเส้นทางไปยังดัมพ์):
นี่คือตัวอย่างการตั้งค่าจากเซิร์ฟเวอร์ของฉัน:
หลังจากทำตามขั้นตอนเหล่านี้แล้ว แอปพลิเคชัน 1cv8 จะเริ่มบันทึกข้อมูลระบบเกี่ยวกับข้อผิดพลาดทั้งหมดที่เกิดขึ้นในระบบในไดเร็กทอรีเหล่านี้โดยอัตโนมัติ
หลังจากการวิเคราะห์เสร็จสิ้น บันทึกกระบวนการสามารถปิดใช้งานได้โดยการลบหรือเปลี่ยนชื่อไฟล์ logcfg.xml
สันนิษฐานว่าในคอมพิวเตอร์ที่จะเปิดใช้งานบันทึกนี้ไฟล์อาจใช้พื้นที่ดิสก์ค่อนข้างมาก (พูดค่อนข้างแน่นอน) ดังนั้นฉันแนะนำให้ระบุเส้นทางไปยังดิสก์ที่มีพื้นที่ว่างจำนวนมาก
1) หากต้องการสร้างบันทึกให้สำเร็จ คุณต้องสร้างไดเร็กทอรีสำหรับบันทึก (เช่น "D:\1Clog") และไฟล์ดัมพ์ (เช่น "D:\1Cdumps") จะเป็นการดีกว่าถ้าสร้างไฟล์เหล่านี้ไม่อยู่ในไดรฟ์ระบบ
2) จะต้องกำหนดค่าสิทธิ์ต่อไปนี้สำหรับไดเร็กทอรี TG เหล่านี้:
— สิทธิ์เต็มรูปแบบในแคตตาล็อกนิตยสารเทคโนโลยี
— สิทธิ์ในการอ่านให้กับเจ้าของไดเร็กทอรีวารสารเทคโนโลยี
บันทึก. หากยังไม่ได้เขียน TJ ให้ให้สิทธิ์ทุกคนในโฟลเดอร์นี้ (ชั่วคราวเพื่อให้แน่ใจว่าสิทธิ์นั้นถูกต้อง)
3) ไม่ควรมีไฟล์ที่ไม่เกี่ยวข้องในไดเร็กทอรีบันทึกทางเทคโนโลยี ไดเร็กทอรีที่มีไฟล์ที่ไม่เกี่ยวข้องจะไม่อนุญาตให้สร้างบันทึก
4) อย่าเก็บดัมพ์และบันทึกไว้ด้วยกัน เพราะหลังจากช่วงเวลาที่กำหนด (ค่าเริ่มต้น 1 ชั่วโมง) เนื้อหาจะถูกลบออกจนหมดและคุณจะสูญเสียดัมพ์
เป็นการดีกว่าที่จะกำหนดค่า TJ (โดยใช้ตัวกรอง - แท็ก logcfg.xml) สำหรับเหตุการณ์ที่กำลังศึกษาเท่านั้น อย่ารวบรวมส่วนที่เหลือ มิฉะนั้นคุณจะพบกับ "พื้นที่ดิสก์ไม่เพียงพอ" และทำให้ประสิทธิภาพของเซิร์ฟเวอร์ช้าลง
1) การกำหนดค่าตัวกรองโดยใช้การประมวลผลทำได้ง่ายกว่าด้วยการตั้งค่า ITS ของ Technological Journal.epf แต่ในขณะเดียวกัน โปรดจำไว้ว่าคุณสมบัติใหม่ของรุ่นล่าสุดอาจไม่รวมอยู่ในการส่งคืน (แต่ละเวอร์ชันใหม่จะเพิ่มคุณสมบัติใหม่ นั่นคือ ไม่สะท้อนให้เห็นในการประมวลผล) ในกรณีนี้ ให้ปรับไฟล์ logcfg.xml ด้วยตนเอง
2) หากต้องการหยุดการรวบรวมบันทึก เพียงเปลี่ยนชื่อไฟล์ ไม่จำเป็นต้องรีสตาร์ทเซิร์ฟเวอร์ การตั้งค่าจะถูกคำนวณใหม่ทุก ๆ นาที “ทันที”
3) กำหนดค่า logcfg.xml เพื่อกรองเหตุการณ์เพื่อความปลอดภัยของข้อมูลเฉพาะ ใช้ “p:processName=”
ด้วยการตั้งค่าเหล่านี้ ฉันรวบรวมข้อมูลเกี่ยวกับ:
สถานการณ์พิเศษของแอปพลิเคชันของระบบ 1C: Enterprise 8.2 ซึ่งไม่ได้รับการประมวลผลตามปกติและอาจทำให้กระบวนการเซิร์ฟเวอร์หรือกระบวนการไคลเอนต์ที่เชื่อมต่ออยู่ยุติฉุกเฉิน
เหตุการณ์ที่เริ่มขึ้นแต่ไม่สิ้นสุดเมื่อมีเหตุฉุกเฉินเกิดขึ้น
เหตุการณ์ที่เกี่ยวข้องกับกระบวนการทั้งหมดและส่งผลต่อประสิทธิภาพการทำงานต่อไปของกระบวนการ ตัวอย่างเช่น เริ่มต้น สิ้นสุด ขัดข้อง ฯลฯ
ควบคุมการกระทำของผู้ดูแลระบบคลัสเตอร์เซิร์ฟเวอร์ 1C:Enterprise 8.2
เหตุการณ์ที่เกี่ยวข้องกับการเพิ่มจำนวนหน่วยความจำที่กระบวนการเซิร์ฟเวอร์ครอบครอง (ragent, rmngr, rphost)
เหตุการณ์หน่วยความจำรั่วที่อาจเกิดจากข้อผิดพลาดในรหัสการกำหนดค่า
เมื่อไม่นานมานี้ ฉันค้นพบสิ่งใหม่ ๆ สำหรับตัวเอง ปรากฎว่ามีนิตยสารเทคโนโลยี (TJ) นี่คือสัตว์ชนิดใดและเหตุใดจึงจำเป็น ฉันจะพยายามตอบในบทความนี้
วิธีพูด 1C นั้นเอง นิตยสารเทคโนโลยีระบบ 1C:Enterprise 8 สามารถใช้วิเคราะห์ปัญหาทางเทคโนโลยีของระบบและวิเคราะห์การยุติฉุกเฉินได้ โดยจะลงทะเบียนข้อมูลจากแอปพลิเคชัน 1C:Enterprise 8 ทั้งหมดที่ทำงานบนคอมพิวเตอร์ที่กำหนดจากคำจำกัดความนี้ ประโยชน์ของเครื่องมือนี้ชัดเจนทันที จากคำนิยามนี้ เราสามารถเรียนรู้ได้ เช่น:
- เมื่อรันโค้ดใดกระบวนการทำงานของเซิร์ฟเวอร์ขัดข้อง?
- คำถามใดที่ช้าและถูกเรียกจากที่ไหน?
- ดูว่ามีการหยุดชะงักหรือหมดเวลาหรือไม่
- และอีกมากมาย
ไฟล์เหล่านี้สามารถแบ่งออกเป็น 2 กลุ่ม
- ไฟล์ดัมพ์
- ไฟล์บันทึก
ทิ้ง– นี่คือไฟล์ที่มีนามสกุล mdmp ซึ่งมีเนื้อหาของ RAM ของกระบวนการ ณ เวลาที่เกิดการขัดข้อง
ไปข้างหน้า. ไฟล์ TJ เก็บไว้ในไดเร็กทอรีใด
ค่าเริ่มต้น TJ ถูกสร้างขึ้นในไดเร็กทอรี:
% USERPROFILE% \ การตั้งค่าท้องถิ่น \ ข้อมูลแอปพลิเคชัน \ 1C \ 1Cv82 \
หากใช้ Windows Vista และสูงกว่า ไดเรกทอรีจะถูกใช้: %LOCALAPPDATA%\1C\1Cv82\
สำหรับ 8.3 แทนที่จะใช้แค็ตตาล็อก 1Cv82 จะใช้ 1Cv8
แต่ไดเร็กทอรีนี้สามารถเปลี่ยนแปลงได้ เพิ่มเติมเกี่ยวกับเรื่องนี้ด้านล่าง
จะเปิด TJ ได้อย่างไร?
ตามค่าเริ่มต้น บันทึกกระบวนการจะถูกเปิดใช้งานและกำหนดค่าให้บันทึกการถ่ายโอนข้อมูลน้อยที่สุด ด้วยการใช้ไฟล์พิเศษ เราสามารถกำหนดค่า TJ ได้ กล่าวคือ เราสามารถเปลี่ยนไดเร็กทอรี TJ ระบุว่าเหตุการณ์ใดที่ควรลงทะเบียนใน TJ เป็นต้น
ฉันกำลังพูดถึงไฟล์การตั้งค่า TJlogcfg.xml .
ไฟล์นี้ควรอยู่ในไดเร็กทอรี conf ในโฟลเดอร์ที่ติดตั้ง 1c เป็นต้น
"D:\ไฟล์โปรแกรม\1Cv8\conf"
ลองดูตัวอย่างไฟล์การตั้งค่าสำหรับ TZ ที่สมบูรณ์
กำหนดค่า xmlns="http://v8.1c.ru/v8/tech-log">
แนะนำให้กำหนดค่า TJ เฉพาะเหตุการณ์ที่เราสนใจมากกว่า เช่น เราต้องการดูว่ามีข้อผิดพลาดหรือการทำงานที่ยาวนานในระบบ (>10 วินาที)
เมื่อใช้การตั้งค่า TJ คุณสามารถกรองเหตุการณ์เกือบทั้งหมดที่เราสนใจได้
สมมติว่าเราต้องการเห็นเฉพาะข้อผิดพลาดและข้อมูลเกี่ยวกับคำค้นหาในตาราง AccRg105 ที่กินเวลานานกว่า 3 วินาทีใน TC จากนั้น logcfg ควรมีลักษณะเช่นนี้
ตรรกะหรือทำงานระหว่างทั้งสองนั่นคือ เมื่อมีเหตุการณ์ใดเกิดขึ้นก็จะถูกบันทึกไว้ใน TJ
ตรรกะ AND ใช้งานได้ภายในอันเดียวนั่นคือ เหตุการณ์ที่กำหนดจะถูกบันทึกก็ต่อเมื่อตรงตามเงื่อนไขทั้งหมดภายในเหตุการณ์เดียวเท่านั้น
ด้วยการตั้งค่านี้ เหตุการณ์ EXCP จะถูกบันทึกเสมอ และเหตุการณ์ DBMSSQL จะถูกบันทึกก็ต่อเมื่อมีสตริง “AccRg105” อยู่ที่ใดก็ได้ในข้อความคำขอ และคำขอได้รับการดำเนินการนานกว่า 3 วินาที ตัวกรองสำหรับระยะเวลากิจกรรมต้องตั้งค่าเป็นสิบในพันวินาที ไม่ว่าแพลตฟอร์มจะเป็นเวอร์ชันใดก็ตาม ในตัวอย่างนี้ เราใช้เงื่อนไขหลายประการ: eq, gt และ like
สามารถใช้เงื่อนไขต่อไปนี้:
- สมการ – เท่ากับ;
- ne – ไม่เท่ากัน;
- gt – เพิ่มเติม;
- ge – มากกว่าหรือเท่ากับ;
- lt – น้อยกว่า;
- เลอ – น้อยกว่าหรือเท่ากับ;
- ชอบ - ตรงกับหน้ากาก
แพลตฟอร์มจะอ่านข้อมูลจากไฟล์การตั้งค่านาทีละครั้ง ดังนั้นอย่าตื่นเต้นและตรวจสอบไฟล์ทันที คุณจะสบายใจได้ในไม่กี่นาที)
หากคุณจะไม่ส่งข้อมูลดัมพ์ไปที่ 1C ก็ไม่จำเป็นต้องจัดเก็บมัน อย่าระบุบรรทัดตำแหน่งดัมพ์ในไฟล์การตั้งค่า.
หากคุณกำลังจะจัดเก็บไฟล์ TJ ในไดเร็กทอรีอื่นที่ไม่ใช่ไดเร็กทอรีเริ่มต้น จะเป็นการดีกว่าถ้าคุณสร้างมันขึ้นมาเองก่อน
ในฐานข้อมูลทดสอบ ฉันจงใจสร้างการหมดเวลาในการล็อค
โดยใช้สิ่งนี้เป็นตัวอย่าง
เพื่อนร่วมงานทั้งหลาย เรากำลังเริ่มบทความชุดหนึ่งเกี่ยวกับนิตยสารเทคโนโลยีโดยเฉพาะ
ในซีรีส์นี้ เราจะดูวิธีใช้เครื่องมือที่มีประโยชน์เพื่อตรวจสอบปัญหาด้านประสิทธิภาพและความเสถียร 1C:องค์กร- นิตยสารเทคโนโลยี
ไม่ใช่ผู้เชี่ยวชาญทุกคนที่รู้เรื่องนี้ และมีเพียงไม่กี่คนที่รู้วิธีใช้อย่างถูกต้อง มาลองแก้ไขสถานการณ์กัน :)
คำอธิบายและการรวมบันทึกเทคโนโลยี
คุณจะเรียนรู้อะไรจากบทความนี้?
- คำอธิบายและวัตถุประสงค์ของเครื่องมือ นิตยสารเทคโนโลยี
- วิธีการเปิดใช้งาน นิตยสารเทคโนโลยีวี 1C:องค์กร 8
- หลักการสร้างและบันทึกบันทึกและดัมพ์
คำอธิบายของ TJ
ทีเจออกแบบมาเพื่อตรวจสอบข้อผิดพลาด วิเคราะห์ และวินิจฉัยปัญหาต่างๆ ในการทำงานของแพลตฟอร์ม 1C:องค์กร.
ด้วยความช่วยเหลือของ TZ คุณจะพบว่าคิวรีใดทำงานช้า และเรียกใช้จากที่ใด เมื่อดำเนินการโค้ดใดที่กระบวนการทำงานของเซิร์ฟเวอร์ล่ม หน่วยความจำรั่วตรงไหน และอื่นๆ อีกมากมาย
เครื่องมือวิเคราะห์ประสิทธิภาพของแพลตฟอร์มทั้งหมดใช้ TJ เพื่อรับข้อมูล หากคุณต้องการและศึกษาปัญหาอย่างละเอียดโดยใช้ TJ คุณสามารถเขียนเครื่องมือวิเคราะห์ประสิทธิภาพของคุณเองได้
TJ สามารถรวบรวมได้ทั้งสำหรับกระบวนการเซิร์ฟเวอร์ 1C และสำหรับแอปพลิเคชันไคลเอนต์ ดังนั้น ชุดเหตุการณ์ที่สามารถบันทึกใน TD จะแตกต่างออกไป
บันทึกและดัมพ์ของลูกค้าไม่ค่อยได้รับความสนใจมากนัก ดังนั้นในบทความนี้ เราจะพิจารณา TZ จากมุมมองของเซิร์ฟเวอร์โดยเฉพาะ อย่างไรก็ตาม ทุกอย่างที่เขียนไว้ที่นี่ยังใช้กับบันทึกของไคลเอ็นต์ด้วย
เมื่อใช้ TZ คุณสามารถรวบรวมบันทึกและกำหนดค่าการก่อตัวของดัมพ์ในกรณีที่กระบวนการยุติฉุกเฉิน
บันทึก– เป็นไฟล์ที่มีนามสกุล .บันทึกโดยที่ข้อมูลถูกจัดเก็บในรูปแบบข้อความ
ทิ้งเป็นไฟล์ที่มีนามสกุล .mdmpซึ่งมีเนื้อหาของ RAM ของกระบวนการ ณ เวลาที่เกิดการขัดข้อง
การดัมพ์อาจมีความจำเป็นอย่างยิ่งในการตรวจสอบปัญหาความเสถียรของแพลตฟอร์ม เราไม่สามารถวิเคราะห์การทิ้งขยะได้ด้วยตัวเอง เพราะว่า... เราไม่มีซอร์สโค้ดของแพลตฟอร์ม แต่เราสามารถส่งซอร์สโค้ดไปยังฝ่ายสนับสนุนทางเทคนิคหรือฟอรัมพันธมิตรและรับวิธีแก้ไขปัญหาของเราได้
กำลังเปิด TJ
ตามค่าเริ่มต้น บันทึกกระบวนการจะถูกเปิดใช้งานและใช้งานได้ แต่จะรวบรวมข้อมูลในปริมาณที่จำกัดมาก
จำนวนข้อมูลขั้นต่ำหมายถึง 2 สิ่ง:
1) การก่อตัวของดัมพ์ขนาดต่ำสุดในกรณีที่มีการปิดระบบฉุกเฉินของกระบวนการคลัสเตอร์ 1C ( ตัวแทน rmngrหรือ rphost).
ตามค่าเริ่มต้น ดัมพ์จะถูกสร้างขึ้นในไดเร็กทอรี:
% USERPROFILE% \ Local Settings \ Application Data \ 1C \ 1Cv82 \ dumps
หากคุณใช้ Windows Vista และสูงกว่า ไดเร็กทอรีจะถูกใช้:
%LOCALAPPDATA%\1C\1Cv82\ดัมพ์
สำหรับ 8.3 แทนที่จะเป็นไดเร็กทอรี 1Cv82ใช้แล้ว 1Cv8.
2) สำหรับ 8.3 TZ ขั้นต่ำจะรวมการสร้างบันทึกด้วยหนึ่งเหตุการณ์ ระบบมีระดับ ข้อผิดพลาด.
บันทึกจะถูกบันทึกไว้ในไดเร็กทอรี:
% USERPROFILE% \ การตั้งค่าท้องถิ่น \ ข้อมูลแอปพลิเคชัน \ 1C \ 1Cv8 \ บันทึก
สำหรับ Windows Vista และเก่ากว่า ไดเร็กทอรีจะถูกใช้:
%LOCALAPPDATA%\1C\1Cv8\บันทึก
บันทึกเหล่านี้จะถูกเก็บไว้เป็นเวลา 24 ชั่วโมงตามค่าเริ่มต้น หลังจากนั้นแพลตฟอร์มจะลบไฟล์บันทึกที่เกินเกณฑ์นี้
บ่อยครั้งที่ข้อมูลจาก TJ เริ่มต้นยังไม่เพียงพอ และจำเป็นต้องกำหนดค่าด้วยตนเอง
หากต้องการปรับแต่ง TJ อย่างละเอียด คุณต้องสร้างไฟล์ logcfg.xmlมีโครงสร้างบางอย่างอยู่ในสถานที่แห่งหนึ่ง
ไฟล์นี้จะต้องอยู่ในไดเร็กทอรี:
C:\Program Files\1Cv82\conf (สำหรับไดเรกทอรี 8.3 1Cv8)
ในกรณีนี้การตั้งค่า ทีเจจะใช้ได้กับทุกรุ่น 1ซีซึ่งได้รับการติดตั้งบนคอมพิวเตอร์เครื่องนี้และสำหรับผู้ใช้ทั้งหมด ตัวเลือกนี้ถูกใช้บ่อยที่สุด และเป็นตัวเลือกที่เราแนะนำให้ใช้
เมื่อตั้งค่า มชบริการตรวจสอบประสิทธิภาพระบบคลาวด์ และเครื่องมืออื่นๆ ที่คุณต้องระบุเส้นทางไป ล็อกซีเอฟจีจะเป็นการดีกว่าถ้าใช้ไดเร็กทอรีเฉพาะนี้มิฉะนั้นเมื่ออัปเดตแพลตฟอร์มหรือเปลี่ยนชื่อผู้ใช้ที่บริการเซิร์ฟเวอร์ทำงานอยู่ 1ซีเครื่องมือที่อธิบายไว้จะหยุดทำงานและคุณจะต้องเปลี่ยนการตั้งค่า
อย่างไรก็ตาม มีตัวเลือกอื่นๆ อยู่ แม้ว่าจะใช้บ่อยน้อยกว่ามากก็ตาม ฉันจะอธิบายเฉพาะสิ่งที่คุณต้องการมากที่สุดเท่านั้น
เพื่อติดตั้ง ทีเจเราวางไว้สำหรับแพลตฟอร์มเวอร์ชันเดียวเท่านั้น logcfg.xmlในแค็ตตาล็อก:
C:\ไฟล์โปรแกรม\1Cv82\8.2.19.106\bin\conf
ที่ไหน 8.2.19.106 – นี่คือหมายเลขเวอร์ชันที่คุณต้องการ
เกิดขึ้นน้อยมาก แต่ก็ยังอาจจำเป็นต้องกำหนดค่า TJ แยกกันสำหรับผู้ใช้แต่ละรายที่ใช้บริการเซิร์ฟเวอร์อยู่ 1ซี.
จากนั้นเราก็วาง ล็อกซีเอฟจีในแค็ตตาล็อก:
% USERPROFILE% \ การตั้งค่าท้องถิ่น \ ข้อมูลแอปพลิเคชัน \ 1C \ 1Cv82 \ Conf
สำหรับ Windows Vista และเก่ากว่า:
%LOCALAPPDATA%\1C\1Cv82\Conf
อาจจำเป็นหากคุณมี 1 บริการเซิร์ฟเวอร์ 1ซีถูกใช้เป็นแบบทำงาน และอันที่สองใช้สำหรับการแก้ไขจุดบกพร่อง หากจำเป็น คุณสามารถเรียกใช้บริการภายใต้ผู้ใช้ที่แตกต่างกันและรวบรวมได้ ทีเจสำหรับหนึ่งในนั้นเท่านั้น เพื่อไม่ให้โหลดเซิร์ฟเวอร์ตัวที่สองและไม่รวบรวมข้อมูลที่ไม่จำเป็นในบันทึกหรือทำการตั้งค่าของคุณเองสำหรับแต่ละบริการ ทีเจ.
การตั้งค่าจาก logcfg จะไม่อ่านทันที แต่ทุกๆ 60 วินาที และแต่ละกระบวนการของคลัสเตอร์จะอ่านไฟล์การตั้งค่าโดยไม่ขึ้นอยู่กับกระบวนการอื่นๆ ตัวอย่างเช่น บันทึกกระบวนการ rmngr อาจปรากฏขึ้นก่อน และหลังจาก 45 วินาทีเท่านั้น บันทึก rphost
เพื่อปิดเครื่อง ทีเจเพียงลบหรือเปลี่ยนชื่อไฟล์ logcfg.xml.
เบอร์มิสตรอฟ อันเดรย์
ในบทความต่อไปนี้ เราจะดูความแตกต่างของการตั้งค่า ทีเจและการปฏิบัติการใช้งาน
ในระหว่างนี้ ให้แนบเนื้อหาที่ได้รับเข้ากับฐานข้อมูลการทดสอบของคุณ :)