Mục đích: Hướng dẫn tối ưu Oracle WebLogic A-Z
Mục đích: Tối ưu WebLogic
Nội dung tối ưu:
Khảo sát, Tối ưu cho các server logic
Tối ưu cho các manage server
Tối ưu cho Apache Http WebServer
Tối ưu Datasource
Tối ưu Deployment
Tối ưu cho công cụ quản trị Admin Console
Tối ưu thời gian timout ứng dụng
Các khuyến cáo khác
Khảo sát, Tối ưu cho các server logic
Khảo sát các doamain và phát hiện 1 số vấn đề:
Đánh giá: 3 server logic đầu tiên có tỷ lệ sử dụng bộ nhớ cao, cần được cấp phát thêm (lấy thông tin này ở mục Performance của server logic). Các server khác sử dụng < 50% RAM thu hồi lại tài nguyên cấp phát.
Đánh giá: 5 server logic đầu tiên có tỷ lệ sử dụng bộ nhớ khá cao (lên đến > 90%), cần phải tạo thêm server logic cho Cluster và tối ưu ứng dụng. Các Server khác > 50% và <90% thì giữ nguyên
Nghiên cứu tiếp các domain khác để xem tham số memory cất phát đã tối ưu chưa, nếu chưa điều chỉnh lại (thu hồi, cấp thêm hoặc giữ nguyên).
Các bước tối ưu chi tiết như bên dưới:
STT | Các bước thực hiện | Thời gian |
I | Chuyển một số server logic từ máy chủ wls1 (107) sang các máy chủ wls2 (105), đảm bảo tài nguyên sử dụng ở mức an toàn. Danh sách các server logic cần chuyển: APP1_HN2 App3_Server1_HN6 App3_Server2_HN2 Server1_App2_HN3
Quy trình thực hiện dưới đây áp dụng với một server logic, các server logic khác thực hiện tương tự | 40’ |
1.1 | Click vào nút “Take Lock & Edit” trên trang Admin Console để bật chế độ cho phép thay đổi cấu hình . | |
1.2 | Click vào link “Servers” ở bên trái màn hình | |
1.3 | Dừng Server cần thay đổi (ví dụ APP1_HN2) (Chọn server sau đó nhấn nút Stop) | |
1.4 | Trong trang hiển thị danh sách các server logic, click vào server APP1_HN2, rồi chọn tab Configuration > General | |
1.5 | Thay đổi địa chỉ IP 192.168.8.107[B1] Thành 192.168.8.105 | |
1.6 | Click vào link Machines ở menu bên trái, chọn máy chủ 107 sau đó bỏ server APP1_HN2 ra khỏi máy chủ 107 | |
1.7 | Tiếp tục chọn máy chủ 105 và thêm server APP1_HN2 vào máy chủ 105 | |
1.8 | Sau khi hoàn thành, nhấn nút Save và “Release Configuration” để lưu lại thay đổi | |
1.9 | Restart lại server logic này để kích hoạt các tham số mới. | |
II | Điều chỉnh kích thước heap size cho các server để phù hợp với nhu cầu sử dụng thực tế: Admin console App_Server1_HN1 : 4GB App_Server2_HN2: 4GB App_Server2_HN4: 4GB App2_1_srv1: 2GB App2_2_srv1: 2GB App2_2_srv2: 2GB Thực hiện lần lượt các bước sau đối với từng server trên: | 30’ |
2.1 | Click vào nút “Take Lock & Edit” trên trang Admin Console để bật chế độ cho phép thay đổi cấu hình . | |
2.2 | Click vào link “Servers” ở bên trái màn hình | |
2.3 | Trong trang hiển thị danh sách các server logic, click vào server cần thay đổi, rồi chọn tab Configuration > Server Start | |
2.4 | Sửa lại tham số Memory, ví dụ -d64 -Xmx4096m -Xms4096m -XX:MaxPermSize=512m Thành -d64 –Xmx2048m –Xms2048m -XX:MaxPermSize=512m Sau khi sửa xong, nhấn nút Save và “Release Configuration” để lưu lại thay đổi | |
2.5 | Restart lại server logic này để kích hoạt các tham số mới. | |
2.6 | Thay đổi cấu hình Apache trên cả 2 node 192.168.8.105, 192.168.8.107:[B2] a. Backup lại file cấu hình b. Thay đổi lại tham số: - Cấu hình cũ: /app3 WebLogicCluster=192.168.8.107:7037,192.168.8.107:7039 /app1 WebLogicCluster=192.168.8.107:7135,192.168.8.107:7137,192.168.8.107:7139 /App2 WebLogicCluster=192.168.8.107:7119,192.168.8.107:7113,192.168.8.107:7115,192.168.8.107:7117,192.168.8.105:7113,192.168.8.105:7115 - Cấu hình mới: … | |
III | Cập nhật bản vá 9089055 cho Weblogic Server 10.3.2 để khắc phục lỗi truy cập chậm vào các trang quản lý, giám sát máy chủ, ứng dụng Quy trình này được thực hiện trên từng máy chủ server vật lý: 192.168.8.105 và 192.168.8.107. Với máy chủ còn lại, thực hiện tương tự | 60’ |
3.1 | Backup toàn bộ thư mục domain: App2_Domain và App1_DOMAIN | |
3.2 | Dừng toàn bộ các server logic đang hoạt động | |
3.3 | Dừng Node Manager | |
3.4 | Copy bản vá 9089055 vào đường dẫn /u01/oracle/app/fmw/10.3.2/utils/bsu | |
3.5 | Giải nén file .zip thành .jar | |
3.6 | Đổi tên file patch-catalog_15563.xml thành patch-catalog.xml | |
3.7 | Quay lại thư mục /u01/oracle/app/fmw/10.3.2/utils/bsu và chạy lệnh sau: ./bsu.sh -install -prod_dir=/u01/oracle/app/fmw/10.3.2/wlserver_10.3 -patch_download_dir=/u01/oracle/app/fmw/10.3.2/utils/bsu/cache_dir -patchlist=UGZJ -verbose -log=UGZJ.txt | |
3.8 | Kiểm tra xem patch đã được cập nhật thành công hay chưa: ./bsu.sh -view -status=downloaded -prod_dir=/u01/oracle/app/fmw/10.3.2/wlserver_10.3 -patch_download_dir=/u01/oracle/app/fmw/10.3.2/utils/bsu/cache_dir | |
3.9 | Bật lại Node Manager và các Server logic, Server Admin | |
3.10 | Trong trường hợp có lỗi, copy lại thư mục đã backup đè lên các thư mục cũ và bật lại hệ thống | |
IV | Xóa hoặc chuyển các ứng dụng tạm hiện không còn sử dụng sang trạng thái Inactive để tránh các truy cập không hợp lệ và giải phóng dung lượng cho hệ thống: App1_bc, App1,App2,App3, App4,... | 10’ |
4.1 | Click vào link “Deployments” ở menu bên trái để vào màn hình hiển thị các ứng dụng | |
4.2 | Chọn ứng dụng và nhấn nút Stop để chuyển từ chế độ Active sang chế độ Inactive | |
V | Chuyển tham số cấu hình Apache cơ chế MPM từ prefork sang worker để tăng khả năng mở rộng và tối ưu bộ nhớ. Quy trình này thực hiện cho từng phần mềm Apache Tomcat trên mỗi máy chủ 192.168.8.105 và 192.168.8.107. Cần thực hiện lần lượt trên từng máy chủ. | 30’ |
5.1 | Dừng Apache Tomcat ./apachectl –k stop | |
5.2 | | |
5.3 | Thay đoạn mã <IfModule mpm_prefork_module> ServerLimit 1024 StartServers 10 MinSpareServers 10 MaxSpareServers 20 MaxClients 1024 MaxRequestsPerChild 0 </IfModule> Bằng đoạn mã <IfModule mpm_worker_module> StartServers 20 MaxClients 1024 MinSpareThreads 20 MaxSpareThreads 70 ThreadLimit 64 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> | |
5.4 | Bật lại Apache ./Apachectl –k start | |
5.5 | Trong trường hợp có lỗi, khôi phục lại file httpd.conf và bật lại Apache | |
Tổng cộng | | 150 |
Tối ưu DataSource
Services --> JDBC --> Data Sources --> fb_baocao2 --> Configuration --> Connection Pool
Các tham số thường đặt:
Tham số | Giá trị default | Giá trị khuyến cáo |
| | |
| | |
URL: | jdbc:oracle:thin:@192.168.56.101:1521:dbaviet1 | Ko thay đổi |
Driver Class Name: | oracle.jdbc.OracleDriver | Ko thay đổi |
Properties: | user=app_owner | Ko thay đổi |
System Properties: | Trắng | |
Password: | | Ko thay đổi |
Confirm Password: | | Ko thay đổi |
Initial Capacity: | | 3 |
Maximum Capacity: | | 200 |
Minumum Capacity | | 3 |
Capacity Increment | | |
Statement Cache Type | LRU | Ko thay đổi |
Statement Cache Size: | 10 | > 10 |
Test Connections On Reserve | Disable | Enable |
Test Frequency: | 120 | Ko thay đổi |
Test Table Name: | SQL SELECT 1 FROM DUAL | Không thay đổi |
Seconds to Trust an Idle Pool Connection: | 10 | Ko thay đổi |
Shrink Frequency | 900 | Ko thay đổi |
Init SQL: | Trống | |
Connection Creation Retry Frequency: | 60 | Ko thay đổi |
Login Delay: | 0 | Ko thay đổi |
Inactive Connection Timeout: | 0 | Khi đổi thành 300: Dùng OK (session 700) Đổi lại 0 --> session lại tăng |
Maximum Waiting for Connection: | 2147483647 | Ko thay đổi |
Connection Reserve Timeout: | 10 | Ko thay đổi |
Statement Timeout | -1 | HT ít kết nối: Ko thay đổi HT gây tải cho DB: 900 (s) |
Ignore In-Use Connections | Enable (v) | Ko thay doi |
Pinned-To-Thread | Disable | Ko thay doi |
Remove Infected Connections Enabled | Enable (v) | Ko thay doi |
Wrap Data Types | Enable (v) | Ko thay doi |
Connection Harvest Max Count: | 1 | Ko thay doi |
Connection Harvest Trigger Count: | -1 | Ko thay doi |
Tối ưu Deployment
Parameters | Tham số ban đầu | Tham số tối ưu |
Session Timeout (in seconds) | 3600 | 3600 |
Session Invalidation Interval (in seconds) | 3600 | 60 |
Tối ưu timeout của ứng dụng
Giảm số lượng current session xuống để tránh quá tải connection trên OS làm treo Apache
Nội dung cũ | Nội dung mới |
Plan: /u01/weblogic/app1/web.xml <variable-definition> <variable> <name>SessionDescriptor_timeoutSecs_14044113100840</name> <value>1800</value> </variable> <variable> <name>SessionDescriptor_invalidationIntervalSecs_14044113100931</name> <value>1800</value> </variable> </variable-definition> --> Current session: 30K | Plan: /u01/weblogic/app1/web.xml <variable-definition> <variable> <name>SessionDescriptor_timeoutSecs_14044113100840</name> <value>900</value> </variable> <variable> <name>SessionDescriptor_invalidationIntervalSecs_14044113100931</name> <value>60</value> </variable> </variable-definition> --> Current session: 20K |
Tối ưu Admin Console
Ngoài ra để tăng RAM cho Admin Console do Admin Console bị chậm cần thực hiện:
1.Vào /u01/Oracle/Middleware/user_projects/domains/myDomain/bin/setDomain.env sửa lại :
1 # Set 1024MB cho AdminServer
2
3 if [ "${SERVER_NAME}" == "AdminServer" ] ; then
4 USER_MEM_ARGS="-Xms1024m -Xmx1024m"
5 export USER_MEM_ARGS
6 fi
7
8 #Set 2048MB khởi tạo, tăng max 4096MB
9
10 if [[ "${SERVER_NAME}" == *WLS_Spaces* ]] ; then
11 USER_MEM_ARGS="-Xms2048m -Xmx4096m"
12 export USER_MEM_ARGS
13 fi
Hy vọng hữu ích cho bạn.
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox
https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook:
https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger:
https://m.me/101036604657441 (profile)
👨 Fanpage:
https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage:
https://m.me/tranvanbinh.vn
👨👩 Group FB:
https://www.facebook.com/groups/DBAVietNam
👨 Website:
https://www.tranvanbinh.vn
👨 Blogger:
https://tranvanbinhmaster.blogspot.com
🎬 Youtube:
http://bit.ly/ytb_binhoraclemaster
👨 Tiktok:
https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin:
https://www.linkedin.com/in/binhoracle
👨 Twitter:
https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, oracle oca, oracle ocp, oracle ocm