LogoLogo
TH
TH
  • เริ่มต้นกับ AVALANT ONEWEB
    • เริ่มต้นกับ Avalant ONEWEB
    • การพัฒนาแบบดั้งเดิมเทียบกับ Low Code
    • แนวคิดของ ONEWEB
      • แอพพลิเคชัน ONEWEB
      • ONEWEB AppSpace
      • ONEWEB Runtimes
      • สตูดิโอออกแบบ ONEWEB
  • การติดตั้งและตั้งค่า ONEWEB PLATFORM
    • ติดตั้งและกําหนดค่าแพลตฟอร์ม ONEWEB
    • วางแผนการติดตั้ง ONEWEB ของคุณ
      • ออกแบบสถาปัตยกรรม ONEWEB
        • สถาปัตยกรรมอิสระ
        • สถาปัตยกรรมความพร้อมใช้งานสูง
        • สถาปัตยกรรมคลาวด์
        • การผลิตเทียบกับการกู้คืนจากภัยพิบัติเทียบกับสภาพแวดล้อมการทดสอบ
        • การกําหนดค่าเซิร์ฟเวอร์ ONEWEB
        • การตรวจสอบใน ONEWEB
      • การพิจารณาขนาด
        • การปรับขนาด CPU
        • การปรับขนาดหน่วยความจํา
        • การปรับขนาดพื้นที่จัดเก็บ
        • การปรับขนาดเครือข่าย
      • ตรวจสอบข้อกำหนดเบื้องต้นสำหรับการติดตั้ง ONEWEB
        • ข้อกําหนดของฮาร์ดแวร์
        • ข้อกําหนดของซอฟต์แวร์
        • ข้อกําหนดของฐานข้อมูล
        • ข้อกําหนดด้านความปลอดภัย
        • ข้อกําหนดของเครือข่าย
        • ความต้องการของลูกค้า
        • Third-party Tools
    • ติดตั้งและจัดการคอมโพเนนต์ ONEWEB
      • สิทธิ์ของผู้ใช้
      • เตรียมซอฟต์แวร์ที่จำเป็น
        • เตรียมเซิร์ฟเวอร์ฐานข้อมูล
          • PostgreSQL
        • เตรียมเว็บเซิร์ฟเวอร์
          • Apache Web Server
        • เตรียมเซิร์ฟเวอร์แอพพลิเคชัน
          • การกำหนดค่า ONEWEB บน Wildfly
            • ขั้นตอนที่ 1 เตรียมสิทธิ์ผู้ใช้ฐานข้อมูล
            • ขั้นตอนที่ 2 กำหนดค่าการเข้าถึง Wildfly Management Console
            • ขั้นตอนที่ 3 สร้าง driver ฐานข้อมูล
            • ขั้นตอนที่ 4 สร้างแหล่งข้อมูล
            • ขั้นตอนที่ 5 ปรับใช้ไฟล์เก็บถาวรของแอพพลิเคชัน
            • ขั้นตอนที่ 6 การลงชื่อเพียงครั้งเดียว
            • ขั้นตอนที่ 7 การเข้ารหัส Wildfly และ Undertow
            • ขั้นตอนที่ 8 การรับรองความถูกต้องด้วย Wildfly
            • ขั้นตอนที่ 9 การพิสูจน์ตัวตนด้วย LDAP
          • ปรับแต่งเธรด
      • ติดตั้งส่วนประกอบแอพพลิเคชัน ONEWEB
        • ติดตั้ง ONEWEB Application Designer
        • ติดตั้ง ONEWEB Application Server
        • ติดตั้ง ONEWEB Page Designer
        • ติดตั้ง ONEWEB Page Server
      • การติดตั้งส่วนประกอบกระบวนการทำงานของ ONEWEB
        • ติดตั้ง ONEWEB Process Designer
        • ติดตั้ง ONEWEB Process Server
      • ติดตั้งส่วนประกอบการรวม ONEWEB
        • ติดตั้ง ONEWEB Microflow Designer
        • ติดตั้ง ONEWEB Microflow Server
        • ติดตั้ง ONEWEB IAM
      • ตรวจสอบการติดตั้ง ONEWEB
        • การตรวจสอบแอพพลิเคชัน
        • การตรวจสอบกระบวนการ
        • การตรวจสอบการรวมระบบ
  • การออกแบบและพัฒนาแอพพลิเคชันโดย ONEWB
    • การออกแบบและพัฒนาแอพ ONEWEB
    • การออกแบบแอพ ONEWEB
      • วิธีการเลือกระหว่างเว็บแอพและแอพมือถือ
      • วิธีการเลือกรูปแบบการออกแบบ ONEWEB ของคุณ
        • แอพ UI: UX/UI เท่านั้น
        • ประมวลผลกระบวนการทางธุรกิจของแอพเท่านั้น
        • แอพส่วนต่อประสาน: การรวมเข้ากับระบบอื่นเท่านั้น
        • แอพที่ซับซ้อน: รวม UX / UI, กระบวนการทางธุรกิจและอินเทอร์เฟซ
    • ออกแบบและพัฒนา UX/UI
      • UX/UI คืออะไร?
      • แนวทางปฏิบัติที่ดีที่สุดสําหรับ UX/UI
        • สิ่งที่ควรทำ (Do)
        • สิ่งที่ไม่ควรทำ (Don't)
        • วิธีเลือกระหว่าง Smart Form และ Page
      • ส่วนประกอบ UX/UI (UX/UI Components)
        • Smart Forms
          • Entity คืออะไร?
          • โมดูลภายในเอนทิตี
          • ปุ่มและการกระทํา
          • โหมดเอนทิตี
          • รูปแบบสมาร์ทฟอร์ม
            • Single Tab Forms
            • Multiple Tab Forms (General Tab)
            • Parent Child Forms
          • ขั้นตอนการสร้าง Smart Form ครั้งแรก
            • Step by Step เพื่อสร้างสมาร์ทฟอร์มแรกของคุณ
            • ปรับใช้รูปแบบ smart form ของคุณ
          • คุณสมบัติของ Smart Form
            • การค้นหาสากล
        • Pages
          • เพจคืออะไร?
            • Static Page
            • Dynamic Page
            • Page Navigation
          • คุณสมบัติของ Page
            • Header Footer
            • Dynamic Image
            • Switch Language
            • Custom Font
            • Custom Icon
            • Pass Parameter
            • Signature Pad
            • Theme Designer
            • Local Storage in Page
            • Sync Service in Page
            • Local Notification in Page
            • Push Notification in Page
            • Multi-language
            • Splash Screen
            • Plugin
            • App Icon
            • PGD Directives
            • Charts
            • UI Kits
            • Component Extension
            • Share Pages as Template
            • Page Expression Editor
            • Page Structure window
            • Popup Properties Editor
            • Box Model Editor
            • Environment Variables
            • Improved Drag & Drop
            • Microflow Version settings
            • Custom Dependencies
            • Navbar
            • Display Flex
            • Builder setting
          • เริ่มการสร้าง Web Page Application
            • ขั้นตอนการสร้างหน้าแรกของคุณ
            • การแสดงตัวอย่างเว็บเพจ
          • เริ่มการสร้าง Mobile Page Application
            • ขั้นตอนการสร้างหน้าเพจมือถือ
            • แสดงตัวอย่างแอพมือถือ
            • Mobile App CI/CD
        • Dashboard
          • Widget Dashboard
            • ขั้นตอนในการสร้าง widget dashboard
              • สร้างหน้า dashboard
              • สร้างเมนู dashboard
              • สร้าง chart widget
              • เพิ่ม widget บนเพจ
              • กำหนดค่า chart widget
              • กำหนดค่าชุดแผนภูมิ
              • แก้ไขชุดแผนภูมิ
              • เปลี่ยนแผนภูมิเป็นแผนภูมิวงกลม
              • เปลี่ยนสีของวงกลม
              • เพิ่มชุดข้อมูลอื่นลงในแผนภูมิ
              • เปลี่ยนแผนภูมิเป็นแผนภูมิแบบเรียงซ้อนของคอลัมน์
              • เปลี่ยนสีชุดข้อมูล
            • ปรับใช้ dashboard ของคุณ
          • Dashboard ที่ใช้ของ Page Extension
            • เพิ่ม chart ลงใน page
            • สร้าง Microflow
            • รวมแผนภูมิกับข้อมูล
        • รายงาน
          • การทำงานร่วมกับเครื่องมือการรายงาน
        • Menu & Navigation
          • เมนูและการนําทางใน ONEWEB
          • เชื่อมโยงเมนูไปยัง smart form
          • เชื่อมโยงเมนูไปที่ page
          • เชื่อมโยงเมนูไปยัง URL ภายนอก
      • UX /UI มือถือ
        • Web Responsive
          • Smart Form Responsive
          • Web Page Responsive
        • Mobile hybrid
        • Build Mobile App
          • เพิ่ม CI Server
          • รายละเอียด AppStore และ Playstore
      • การปรับแต่ง UX/UI
        • การปรับแต่ง Smart Form
          • ปรับแต่ง Look & Feel
          • เพิ่มตรรกะการตรวจสอบความถูกต้อง
          • เพิ่มตรรกะการคํานวณ
          • เพิ่ม SQL แบบกําหนดเอง
          • เพิ่ม class Java ภายนอก
        • การปรับแต่งหน้า
          • CSS ที่กําหนดเอง
          • JS action ที่กำหนดเอง
          • แหล่งข้อมูลของบุคคลที่สาม (Third party resources)
          • Extensions ที่กำหนดเอง
        • แอพมือถือ
      • การรวม UX/UI เข้ากับ Process, Micro flow, UI ภายนอก
        • การรวม Smart Form เข้ากับ Process
        • การรวม Page กับ Microflow
        • การรวม Page กับ Process
        • การรวม Smart Form กับ Microflow
      • Import/Export/Clone UX/UI
        • Export Import Clone Smart Forms
          • Export Entity
          • Import Entity
          • Clone Entity
        • Export Import Clone in Pages
          • Export Import App
          • Clone Pages
          • Import page จาก App อื่น
      • UX/UI Test & Debug guideline
    • ออกแบบและพัฒนา Process
      • Process คืออะไร?
      • แนวทางปฏิบัติที่ดีที่สุดสําหรับ Process Design
      • ส่วนประกอบของ Process
        • Business Process คืออะไร?
        • Process Template Diagram
        • Process Activity
          • Human Task
            • การจัดสรรงานและการจัดคิวสำหรับ Human Task
          • Gateway Decision
          • Web Service Task
          • Sub Process
          • Java Task
          • Database Task
          • File Read Task
          • File Input Task
          • Timer
          • Error Handling
          • Event Trigger
          • Push Notification
        • Business Object & Data Mapping
        • Formula Editor
          • Formula Editor for Data Mapping
          • Formula Editor for Gateway Condition
        • Work Party
        • Upload File
        • Environment Configuration
        • Process Instance
      • สร้าง Process แรกของคุณ
        • สร้างแอพพลิเคชัน
        • สร้าง process diagram ของคุณ
        • จำลอง process ของคุณ
        • ปรับใช้ process ของคุณ
      • การรวม
        • การรวม Process กับ UX/UI
        • การรวม Process กับ Microflow
      • การตรวจสอบ
        • การตรวจสอบกระบวนการ
        • การตรวจสอบงาน
        • SLA & OLA
        • การตรวจสอบ Dashboard
      • การตรวจสอบความถูกต้องของกระบวนการ
      • นำเข้า/ส่งออก Process
      • การปรับใช้กระบวนการจากสภาพแวดล้อมการพัฒนาไปยังสภาพแวดล้อมอื่น
      • รายการสิ่งที่ต้องทำ
      • แนวทางการทดสอบและแก้ไขข้อบกพร่องของกระบวนการ
      • สลับภาษา
      • การโยกย้าย Instance ของ Process
      • ซิงค์ผู้ใช้
      • ส่วนขยายที่กําหนดเอง
        • สร้างพื้นที่ทำงานสำหรับ Extension
        • สร้าง extension ในพื้นที่ทํางาน
        • ติดตั้ง Extension ในแอพพลิเคชัน
        • จัดการ extension
        • ใช้ Extension ใน workflow
    • การทำงานร่วมกับระบบอื่นๆ
      • ONEWEB Integration คืออะไร?
        • การรวมกับระบบอื่น from/to Microflow
        • การรวมกับระบบอื่นๆ from/to Process Flow
        • การรวมกับ App Runtime
      • แนวทางปฏิบัติที่ดีที่สุดสําหรับการรวม ONEWEB
      • Microflow เปรียบเทียบกับ Process Flow
      • พัฒนาการผสานรวมกับ ONEWEB Microflow
        • Embedded Microflow เทียบกับ Runtime Microflow Server
        • Integration Node
        • Synchronous เทียบกับ Asynchronouse
        • Data Mapping
        • Logic/Coding แบบกำหนดเอง
        • การแปลงข้อมูล
        • สร้าง Microflow แรกของคุณ
          • สร้างแอพพลิเคชัน
          • จำลอง flow ของคุณ
          • ปรับใช้ Microflow ของคุณ
            • Embedded Microflow
            • Microflow Server
          • สร้าง Flow
        • การรวม Microflow กับ UX/UI
          • รวม Smart Form กับระบบอื่นๆ โดยใช้ Microflow
          • รวม Page กับระบบอื่นๆ โดยใช้ Microflow
        • นำเข้า/ส่งออก Microflow
        • Upload File
        • การกำหนดค่า Environment
        • สลับภาษา
        • Push Notification
        • ส่วนขยายที่กำหนดเอง
        • JSON Path Mapping
        • Excel Reader
        • Excel Writer
        • Validation Node
        • JavaScript Node
      • App Runtime REST API
        • ตัวอย่างกรณีการใช้งานสําหรับ APP Runtime API
        • สร้างแอพแบบกําหนดเองเพื่อเรียกใช้ APP Runtime REST API
      • Process Runtime REST API
        • ตัวอย่างกรณีการใช้งานสําหรับ Process API
    • การออกแบบข้อมูลและการจัดการการเข้าถึงเนื้อหา
      • การจัดการการเข้าถึงข้อมูล (Data Access Management)
      • แนวทางปฏิบัติสำหรับการจัดการการเข้าถึงข้อมูล
      • การเข้าถึงฐานข้อมูล
        • โครงสร้างฐานข้อมูล
        • การเข้าถึงข้อมูลจาก UX/UI
          • เข้าถึงฐานข้อมูลจาก Smart Forms
          • การเข้าถึงฐานข้อมูลผ่าน Page
        • การเข้าถึงฐานข้อมูลจาก Process
          • โหนด Database Activity
        • การเข้าถึงฐานข้อมูลจาก Microflow
          • โหนด Database
      • การเข้าถึงรูปภาพ ไฟล์ และเอกสาร
        • เข้าถึงผ่าน UX/UI
        • การเข้าถึงผ่านทาง Process/ Microflow
    • การออกแบบและใช้งานความรักษาความปลอดภัยและการปฏิบัติการตามข้อกำหนด
      • ความปลอดภัยและการปฏิบัติตามข้อกำหนด (What is Security & Compliance?)
      • แนวทางปฏิบัติที่ดีที่สุดสําหรับการรักษาความปลอดภัยและการปฏิบัติตามข้อกําหนด
      • ตรวจสอบ
        • การรวม LDAP
        • Open ID protocol
      • การอนุญาตและการควบคุมการเข้าถึง
        • Roles, Permissions และ Objects
        • การจัดการการควบคุมการเข้าถึงด้วย IAM
          • สร้างผู้ใช้
          • จัดการบทบาทและสิทธิ์ของผู้ใช้
          • จัดการสิทธิ์ และ Object
          • จัดการบทบาท
      • Token ใน ONEWEB
      • การบันทึก, การบันทึกการตรวจสอบ
      • รองรับ SSL
    • ออกแบบและพัฒนาแอพโดยใช้ AppSpace
      • สร้างแอพพลิเคชันใน AppSpace
      • เครื่องมือฐานข้อมูล
        • Data Designer
          • วิธีสร้างแอพ Data Designer
          • เครื่องมือ Data Designer
          • คุณสมบัติเอนทิตี
          • เปรียบเทียบ schemas
        • SQL Builder
          • วิธีสร้างแอพ SQL Builder
          • เครื่องมือ SQL Builder
          • การเชื่อมต่อ
        • Data Viewer
          • วิธีใช้ Data Viewer
          • เครื่องมือ Data Viewer
      • จัดการเวอร์ชันของแอพ
      • ไปป์ไลน์
        • ปรับใช้แอพพลิเคชัน
        • ปรับใช้ Kubernetes
        • การจัดการผู้ใช้
        • แจกจ่ายแอพ
      • จัดการการเข้าถึงของผู้ใช้
        • การบริหารทีมพัฒนา
        • การจัดการการเข้าถึงของผู้ใช้ปลายทาง
      • เปลี่ยนภาษาใน AppSpace
      • ลิ้งค์แอพพลิเคชัน
      • ลิ้งค์ส่วนประกอบ
      • รายละเอียดแอพ
        • แก้ไขแอพพลิเคชันที่มีลิ้งค์เสีย
      • ส่งออกแอพพลิเคชัน
      • นำเข้าแอพพลิเคชัน
      • Cloud Native
  • อ้างอิง
    • อ้างอิง
      • ข้อมูลอ้างอิง Page Designer
        • การสร้างแอปพลิเคชัน
          • การสร้าง Mobile Page
          • การสร้าง Web Page
        • เมนูเครื่องมือบน Page
          • เมนูเครื่องมือ Page Web
          • เมนูเครื่องมือ Mobile Pages
        • เครื่องมือจัดการ Page
          • เครื่องมือทั่วไป
            • การเพิ่ม element
            • การวาง element
            • การลบ element
            • การแก้ไขข้อความ
            • การจัดรูปแบบข้อความ
            • การเชื่อมไปยังหน้าอื่น
            • อัปโหลดรูปภาพ
            • การเพิ่มรูปภาพให้เพจ
            • การตั้งค่าเพิ่มเติม
        • Tab
          • การเพิ่ม Tab บน WEB
          • การเพิ่ม Tab บน Mobile
        • เมนู
          • การเพิ่มเมนูบน Mobile
  • คู่มือ API
    • คู่มือ API
    • App Runtime API
      • รายการ Method ทั้งหมดของ REST API และคำอธิบายการทำงานของฟังก์ชันการทำงานของ API
    • Process Runtime API
      • รายการ Method ทั้งหมดของ REST API และคำอธิบายการทำงานของฟังก์ชันการทำงานของ API
    • การจัดการ Session API
      • รายการ methods API ทั้งหมดของ Java และคำอธิบายการทำงานของ API
    • API ของMicroflow Runtime
      • รายการ Method ทั้งหมดของ REST API และคำอธิบายการทำงานของฟังก์ชันการทำงานของ API
    • IAM2 API
Powered by GitBook
On this page
Export as PDF
  1. การติดตั้งและตั้งค่า ONEWEB PLATFORM
  2. ติดตั้งและจัดการคอมโพเนนต์ ONEWEB
  3. เตรียมซอฟต์แวร์ที่จำเป็น
  4. เตรียมเซิร์ฟเวอร์แอพพลิเคชัน

ปรับแต่งเธรด

Wildfly ใช้การกำหนดค่าระบบย่อย ระบบย่อยเป็นชุดของฟังก์ชั่นเพิ่มเติมที่เพิ่มเข้าไปในเซิร์ฟเวอร์หลักโดยการขยาย ระบบย่อยให้ความสามารถในการประมวลผล servlet จากระบบย่อยเช่นเดียวกับ EE, EJB, IO และอื่นๆ เป็นต้น โปรไฟล์คือรายชื่อระบบย่อยที่มีชื่อ พร้อมด้วยรายละเอียดการกำหนดค่าของระบบย่อยแต่ละระบบ

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

managed executor service context-service ชื่อของบริการบริบทที่จะใช้โดยตัวดำเนินการ core-threads จำนวนเธรดขั้นต่ำที่ตัวดำเนินการใช้ หากไม่ได้กำหนด ขนาดคอร์เริ่มต้นจะคำนวณตามจำนวนโปรเซสเซอร์ ไม่แนะนำให้มีค่าเป็นศูนย์และในบางกรณีอาจใช้ไม่ได้ ดูแอตทริบิวต์ความยาวคิวสำหรับรายละเอียดเกี่ยวกับวิธีการใช้ค่านี้เพื่อกำหนดกลยุทธ์การเข้าคิว hung-task-threshold รันไทม์เป็นมิลลิวินาทีสำหรับงานที่ต้องพิจารณาว่าหยุดทำงานโดยบริการตัวดำเนินการที่มีการจัดการ หากค่าเป็น 0 งานจะไม่ถูกพิจารณาว่าหยุดทำงาน jndi-name ชื่อ JNDI เพื่อค้นหาบริการตัวดำเนินการที่ได้รับการจัดการ keepalive-time เมื่อจำนวนของเธรดมากกว่าแกนหลัก นี่คือเวลาสูงสุดในหน่วยมิลลิวินาที ที่เธรดที่ไม่ได้ใช้งานส่วนเกินจะรองานใหม่ก่อนที่จะยุติ long-running-tasks ตั้งค่าสถานะซึ่งบอกใบ้ระยะเวลาของงานที่ดำเนินการโดยผู้ดำเนินการ max-threads จำนวนเธรดสูงสุดที่ตัวดำเนินการใช้ หากปล่อยไว้โดยไม่กำหนด ค่าจากขนาดคอร์จะถูกใช้ ค่านี้จะถูกละเว้นหากใช้คิวที่ไม่มีขอบเขต (ในกรณีนั้นจะใช้เฉพาะคอร์-เธรดเท่านั้น) queue-length ความจุของคิวงานตัวดำเนินการ ความยาว 0 หมายถึงการส่งต่อโดยตรงและการปฏิเสธที่อาจเกิดขึ้นจะเกิดขึ้น ความยาวที่ไม่ได้กำหนด (ค่าเริ่มต้น) หรือ Integer.MAX_VALUE ระบุว่าควรใช้คิวที่ไม่มีขอบเขต ค่าอื่นๆ ทั้งหมดระบุขนาดคิวที่แน่นอน หากมีการใช้คิวแบบไม่จำกัดหรือการส่งต่อโดยตรง จำเป็นต้องใช้ค่าคอร์เธรดที่มากกว่าศูนย์ reject-policy นโยบายที่จะใช้กับงานที่ถูกยกเลิก thread-factory ชื่อของโรงงานเธรดที่จะใช้โดยผู้ดำเนินการ

ระบบย่อย IO ระบบย่อย IO อนุญาตให้คุณกำหนดผู้ปฏิบัติงานและพูลบัฟเฟอร์ที่จะใช้โดยระบบย่อยอื่น

worker io-threads ระบุจำนวนของเธรด I/O ที่จะสร้างสำหรับผู้ปฏิบัติงาน หากไม่ระบุ ระบบจะเลือกค่าเริ่มต้นซึ่งคำนวณโดย cpuCount * 2 stack-size ขนาดสแต็ก (เป็นไบต์) เพื่อพยายามใช้สำหรับเธรดของผู้ปฏิบัติงาน task-keepalive ระบุจำนวนมิลลิวินาทีเพื่อรักษาเธรดงานที่ไม่ใช่คอร์ให้คงอยู่ task-max-threads ระบุจำนวนเธรดสูงสุดสำหรับ pool.if หากไม่ได้ตั้งค่าให้ใช้ค่าเริ่มต้นที่คำนวณโดยสูตร cpuCount * 16

buffer-pool buffer-size ขนาดของแต่ละส่วนบัฟเฟอร์ในหน่วยไบต์ หากไม่ได้ตั้งค่าที่เหมาะสมจะถูกคำนวณตามทรัพยากร RAM ที่มีอยู่ในระบบของคุณ buffers-per-slice จำนวนบัฟเฟอร์ต่อสไลซ์ หากไม่ได้ตั้งค่าที่เหมาะสมจะคำนวณตามทรัพยากร RAM ที่มีอยู่ในระบบของคุณ direct-buffers พูลบัฟเฟอร์ใช้บัฟเฟอร์โดยตรง บางแพลตฟอร์มไม่รองรับบัฟเฟอร์โดยตรง

Processor Core คอร์โปรเซสเซอร์ (หรือเรียกง่ายๆ ว่า "คอร์") คือโปรเซสเซอร์แต่ละตัวภายในซีพียู คอมพิวเตอร์จำนวนมากในปัจจุบันมีโปรเซสเซอร์แบบมัลติคอร์ ซึ่งหมายความว่า CPU มีมากกว่าหนึ่งคอร์

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

หมายเหตุ: “Core” ยังเป็นชื่อของสายผลิตภัณฑ์โปรเซสเซอร์ของ Intel ซึ่งแทนที่กลุ่มผลิตภัณฑ์ Pentium ในปี 2549 ตัวอย่างของโปรเซสเซอร์ Intel Core ได้แก่ Core Duo, Core 2, Core i3, Core i5 และ Core i7

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

JVM Options มีตัวเลือกสามประเภทที่คุณสามารถรวมไว้ใน JVM ของคุณ ตัวเลือกมาตรฐาน ไม่ใช่มาตรฐาน และตัวเลือกขั้นสูง หากคุณลองใช้ตัวเลือกขั้นสูง คุณจะใช้ตัวเลือกกับ -XX เสมอ ในทำนองเดียวกัน หากคุณใช้ตัวเลือกที่ไม่ได้มาตรฐาน คุณใช้ -X ตัวเลือกมาตรฐานไม่ได้เสริมอะไรให้กับตัวเลือก

Java heap size

-Xms - set initial Java heap size -Xmx - set maximum Java heap size -Xss - set java thread stack size

Xms ตัวเลือกนี้คือการกำหนดขนาดฮีปเริ่มต้นสำหรับ JVM เช่น Xms2048m ซึ่งหมายความว่าขนาดฮีปเริ่มต้นของ JVM คือประมาณ 2 GBดังนั้น เมื่อ JVM เริ่มทำงาน หน่วยความจำจะมีฮีปขนาดใหญ่มาก แปลกใจใช่! สิ่งนี้ดำเนินการเพื่อป้องกันการปรับขนาดระหว่างการเริ่มต้นและปรับปรุงเวลาเริ่มต้นของ JVM Xmx ตัวเลือกนี้ใช้ในการกำหนดขนาดของปริมาณสูงสุดของ JVM เช่น Xmx2048m ซึ่งหมายความว่า JVM มีขนาดสะสมสูงสุดเพียง 2GB โดยพื้นฐานแล้ว Xms และ Xmx จะอยู่ด้วยกันเสมอ

PermGen Size ตัวเลือก JVM ก่อนหน้านี้กำหนดขนาดของหน่วยความจำฮีป แต่ -XX:PermSize คือการกำหนดขนาดของพื้นที่ PermGen ที่ซึ่งกลุ่มสตริงและข้อมูลเมตาของคลาสถูกบันทึกไว้ ตัวเลือกนี้มีผลอย่างยิ่งสำหรับเว็บเซิร์ฟเวอร์อย่าง Tomcat ซึ่งมักจะโหลดคลาสของเว็บแอพพลิเคชันในระหว่างการปรับใช้ อย่างไรก็ตาม มันคุ้มค่าที่จะตระหนักว่าพื้นที่ PermGen ถูกครอบครองโดย Metaspace ใน Java 8 และตัวเลือกนี้ใช้ไม่ได้หากคุณใช้งานกับ JRE 8 JVM การจัดการข้อผิดพลาด 'OutOfMemory' ในการทริกเกอร์ฮีปดัมพ์เมื่อหน่วยความจำไม่เพียงพอ คุณสามารถใช้ -XX:+HeapDumpOnOutOfMemoryError ตัวเลือก JVM นี้สร้างการถ่ายโอนข้อมูลสแต็กเมื่อ JVM ของคุณตายโดยมีข้อผิดพลาด OutOfMemory ไม่มีค่าใช้จ่ายใดๆ เว้นแต่จะมี OOM เกิดขึ้นจริงๆ แฟล็กนี้เป็นสิ่งจำเป็นสำหรับระบบการผลิตเนื่องจากเป็นวิธีเดียวที่จะระบุปัญหาอย่างลึกซึ้ง

ฮีปดัมพ์จะถูกตั้งค่าใน "ไดเร็กทอรีปัจจุบัน" ของ JVM ตามค่าเริ่มต้น หากคุณต้องการสร้างฮีปดัมพ์ในไดเร็กทอรีเฉพาะ ให้เรียกใช้

-XX:HeapDumpPath= [path-to-heap-dump-directory] -XX:+UseGCOverheadLimit -XX:OnOutOfMemoryError="< cmd args >;< cmd args >"

ไฟล์ฮีปดัมพ์อาจมีขนาดใหญ่ถึงกิกะไบต์ ดังนั้น ตรวจสอบให้แน่ใจว่าระบบไฟล์ปลายทางมีความจุเพียงพอ หากเราต้องการรีสตาร์ทเซิร์ฟเวอร์ทันทีหลังจากเกิดหน่วยความจำไม่เพียงพอเราสามารถตั้งค่าพารามิเตอร์นี้ได้ - XX: OnOutOfMemoryError = "shutdown-r" ติดตามการโหลดและถอนการติดตั้งคลาส -XX:+TraceClassLoading และ -XX:+TraceClassUnloading เป็น JVM สองตัวเลือกที่เราใช้เพื่อพิมพ์ข้อมูลการบันทึกเมื่อใดก็ตามที่คลาสโหลดลงใน JVM หรือยกเลิกการโหลดจาก JVM แฟล็ก JVM เหล่านี้มีประโยชน์หากคุณมีการรั่วไหลของหน่วยความจำประเภทใดก็ตามที่เชื่อมโยงกับตัวโหลดคลาสและสงสัยว่าคลาสไม่ได้ถูกขนถ่ายหรือรวบรวมขยะ

การกำหนดค่ามาตรฐานที่แนะนำสำหรับ ONEWEB

Last updated 2 years ago