Hiện tại mình đang dùng bộ công cụ tự cài đặt webserver AIO, tất cả trong một Webinoly, nó rất mạnh, cấu hình gần như toàn bộ hệ thống server, từ các thông số liên quan tới mạng, ping, cho tới các thứ liên quan tới PHP, Nginx … đơn giản, dễ sử dụng, an toàn, ít lỗi
Khá là khó hiểu, Webinoly lại không cấu hình bất cứ dòng nào liên quan tới MySQL, VPS RAM 1GB hay 24Gb đều dùng thông số mặc định
Rãnh rỗi, tiện thể google xem có tool, script liên quan tới MySQL Optimization không thì search ra thèng Releem
Nó khá tương đồng với các script tuning khác như MySQLTuner hay MySQL Tuning-Primer, nguyên tác hoạt động thường là kiểm tra log, log thời gian càng lâu thì dữ liệu càng nhiều, càng chính xác, từ log cho ra các kết quả là query nào chậm, database đọc hay ghi nhiều, database dung lượng to hay thấp, các bảng nào to, các kết nối nhiều hay ít …. nói chung từ file log, các script sẽ đề xuất thay đổi giá trị a,b,c gì đó cho phù hợp
Sau khi dùng trên đủ các loại cấu hình, từ cấu hình thấp tới cao, ít RAM tới nhiều RAM, từ HDD ghẻ tới SSD, NVMe, location Sing, Đức, Mỹ, Nhật, trên khá nhiều webserver Nginx, Caddy, Litespeed … hơi tiếc tí là ở các bài mình đều dùng trên MariaDB 10.11.5 nên cũng không rõ trên các phiên bản khác hay các loại database khác thì có tương tự như kết quả mình nhận được không?
Tổng hợp lại thì mình đều thấy Releem có cải thiện, hiệu quả, đặc biệt là trên hệ điều hành AlmaLinux 9 chạy webserver Caddy, cải thiện hiệu năng rất bố đời
Đây có lẽ là 1 giải pháp tuyệt vời cho bạn nào đang dùng các script auto, không biết nhiều về kĩ thuật, chỉ cần cài vào (copy 1 dòng lệnh đơn giản), sau đó dùng các đề xuất từ Releem là đủ, thậm chí nếu lười, có thể set chạy auto hàng, ngày, cứ 1h sáng tự cập nhập đề xuất
Releem quản lý theo dữ liệu thực đang chạy, chứ không phải dựa vào tổng lượng RAM đang có, nên các giá trị đề xuất của họ, mới đầu đọc thì mình thấy nó cực kì gây lú 😀
[mysqld] thread_cache_size = 32 table_open_cache = 2048 sort_buffer_size = 8M innodb = force innodb_stats_on_metadata = OFF innodb_buffer_pool_instances = 8 innodb_log_buffer_size = 10M innodb_flush_log_at_trx_commit = 2 innodb_thread_concurrency = 6 join_buffer_size = 8M max_allowed_packet = 64M read_rnd_buffer_size = 16M read_buffer_size = 2M bulk_insert_buffer_size = 64M max_connections = 512 myisam_sort_buffer_size = 128M explicit_defaults_for_timestamp = 1 open_files_limit = 65535 table_definition_cache = 1024 table_open_cache = 2048 log_bin_trust_function_creators = 1 disable_log_bin innodb_adaptive_flushing_lwm = 25.000000 innodb_max_dirty_pages_pct = 70.000000 innodb_autoextend_increment = 48 transaction_prealloc_size = 8192 key_buffer_size = 8M thread_stack = 524288 ### Previous value : 524288 query_cache_type = 0 query_cache_size = 0 query_cache_limit = 1048576 query_cache_min_res_unit = 4096 max_heap_table_size = 528482304 ### Previous value : 528482304 tmp_table_size = 528482304 ### Previous value : 528482304 innodb_buffer_pool_size = 128M innodb_log_file_size = 32M innodb_buffer_pool_chunk_size = 2M
Phía trên là file cấu hình MySQL theo Releem đề xuất ở thời điểm hiện tại trên bibica.net, đang dùng VPS miễn phí từ Oracle 😛
Thường mình cứ nâng max các giá trị cho rủng rỉnh, kiểu Opcache cache cho PHP, các file trên WordPress của bạn chưa tới 10MB, VPS bạn 32GB RAM thì bạn set 1GB vào cũng chẳng làm sao 😀 nên trên MySQL mình cũng tăng innodb_buffer_pool_size lên 14GB-16GB =)) xài không tới, nhưng thừa thì nghĩ chẳng ảnh hưởng gì
Kết quả thực tế sử dụng lại khá bất ngờ, vì con VPS 24GB RAM set cấu hình rủng rỉnh, chạy chỉ nhanh hơn con VPS 1 GB RAM set cấu hình siêu hà tiện một tẹo 😀
Releem đưa ra các giá trị cực thì thấp, như innodb_buffer_pool_size, trên trang bibica.net, họ chỉ đề xuất giá trị … 64 MB :]]
Ban đầu thì mình rất không tin tưởng vào đề xuất này, nhưng sau khi dùng theo, thì đúng là các con số cải thiện cực nhiều, nhất là giá trị MySQL Latency và CPU, mình tự cấu hình, chạy vẫn thấy nhanh nhưng MySQL Latency tới 12ms, trong khi dùng các giá trị Releem đề xuất, giảm xuống chỉ còn loanh quanh 2-4ms, thậm chí nhờ cấu hình MySQL tốt, ban đầu CPU max là ~56%, sau khi cài Releem, xuống chỉ còn ~ 36%
Trên WordPress thì bạn có thể dùng Query Monitor để xem thời gian tạo trang cũng khá ổn, như trước đây trang home, nhanh nhất mình nhìn Page Generation Time ~ 0.20s, giờ có thể xuống 0.15s
Thường nếu không có gì quá đặc biệt, khi vừa cài vào, điểm số đa phần ở mức 80%-85%, cuối ngày sau có nhiều số liệu từ log, điểm sẽ xuống 65%-70%
Khi ổn định rồi, điểm số khá hiếm giao động mạnh nữa, trừ khi bạn vui mồm, cài 1001 các plugin, có thể liên quan tới search trên WordPress chẳng hạn, khi cài vào thường thêm vào database 10-100MB dữ liệu, nhìn hú hồn luôn …. kiểu thế thì Releem cần điều chỉnh lại nhiều hơn
Sau 3-7 ngày tinh chỉnh, số liệu đầy đủ, điểm số ổn định ở mức 90%-95%
Trước khi cài đặt
Nếu được, có thể xóa toàn bộ các giá trị được tạo ra bởi các plugin, script liên quan tới database (file thường nằm ở /etc/mysql/my.cnf hoặc /etc/my.cnf)
Webinoly cũng chỉ dùng cấu hình mặc định của MySQL 😀
Cài đặt Releem
- Bạn cần Root password của MySQL, mình đang dùng Webinoly, dùng lệnh
sudo webinoly -dbpass
để xem thông tin
sudo webinoly -dbpass root: EFEmK2x6BBVXJ8tm admin: v054Nwab5IAe8WiG
Cụ thể Root password của mình là EFEmK2x6BBVXJ8tm
Mục đích cần Root User password là để tạo 1 database có tên releem, nhằm mục đích xem các log, nếu bạn thấy lộ password root hơi ghê thì có thể tự cài đặt thủ công (Releem sẽ không biết root password của bạn)
mysql 2>/dev/null <<EOF CREATE USER 'releem'@'%' identified by '[Password]'; GRANT PROCESS, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'releem'@'%'; GRANT SELECT ON performance_schema.events_statements_summary_by_digest TO 'releem'@'%'; FLUSH PRIVILEGES; EXIT; EOF
- Đăng kí miễn phí tài khoản releem.com
- Add server
- Chọn MySQL on Linux Server: Automatic Agent Installation
- Điền MySQL Root User password của bạn sau đó copy đoạn code hiện ra bên dưới, chạy trên server của bạn
* Installing and starting Releem Agent service to collect metrics.. Installing Releem Agent - successful Restarting Releem Agent - successful * Enabling Performance schema and SlowLog to collect metrics... To apply changes to the mysql configuration, you need to restart the service Please confirm restart MySQL service? (Y/N)
- Releem sẽ cài đặt các addon cần thiết sau đó yêu cầu restart MySQL
- Ấn Y để đồng ý
Releem mình nhớ ở thời điểm hiện tại, cũng đã cập nhập Docker MySQL Optimization tự động rồi, bạn nào dùng Docker có thể vào trang chủ của họ đọc hướng dẫn 😀
Sau khi cài Releem
Sau khi cài đặt xong, bạn cần chờ 24h để Releem theo dõi, tổng hợp (collect) tất cả các hoạt động của database bằng cách ghi lại các log
Releem sẽ đề xuất các giá trị cần đổi (tài khoản miễn phí, Releem hỗ trợ 10-13 giá trị cơ bản)
Nếu bạn cài đặt Automatic Agent Installation như ban đầu, giờ chỉ cần ấn vào Apply, MySQL sẽ tự động cập nhập các giá trị
Trong trường hợp bạn hiểu ý nghĩa của từng tùy chọn, thấy giá trị nào phù hợp thì có thể chép tay giá trị đó vào file my.conf cũng được
Xóa Releem
Ví lý do nào đó, cài Releem vào, dùng các giá trị của họ tối ưu, vẫn thấy không có hiệu quả, thì có thể xóa Releem cho đỡ phiền
/opt/releem/releem-agent stop /opt/releem/releem-agent remove rm -rf /opt/releem rm -rf /etc/mysql/releem.conf.d
Chạy tiếp crontab -e
, thấy dòng nào có chữ releem thì xóa đi
Thường nó sẽ là 1-2 dòng cuối cùng, tùy bạn chọn cách cài đặt nào
System Metrics và MySQL Metrics
Ý tưởng ban đầu của mình khi cài Releem chỉ là MySQL Optimization, tuy thế khi dùng 1 thời gian, thấy phần monitor của họ khá là đẹp, các thông số đủ dùng, mình toàn bật 1 tab trình duyệt sẵn để xem 😀 nó không cho kết quả theo thời gian thực, nhưng để xem dạng báo cáo, thì khá hiệu quả
Tổng kết
Có bất ngờ và cũng không bất ngờ khi dùng Releem
Thời điểm vừa cài vào, mình khá là mong chờ, tuy thế vẫn bướng =)) họ đưa ra 1 loạt giá trị cần đổi, có giá trị mình đồng tình, có giá trị mình không đồng tình, nên chỉ thay đổi nửa vời theo đề xuất của họ, dùng vài ngày thì thấy hiệu năng chả khác vẹo gì 😀 xóa đi luôn cho khỏe
Ít hôm sau rỗi rãi cài thử lại trên nhiều nền tảng khác nhau, dùng 100% theo đề xuất của họ thì thấy hiệu quả tuyệt vời, các thao tác trong quản trị, liên quan tới viết bài, sửa bài, post bài, save bài …. tốc độ nhanh hơn từ 30% -50%, đây là chuyện cực khó với người không có kinh nghiệm, các nhà quản trị mạng, lập trình viên, thường tính phí không dưới $1000 cho việc tinh chỉnh liên quan tới database (tại nó khó vãi cả chưởng :D) như tác giả CentminMod cũng từng nói á, không trả đủ $500 teo còn chẳng thèm xuống giường trả lời email 😀
Releem tính giá các gói trả phí với tất cả recommendations ở $49/1 tháng cho 3 server theo mình là hợp lý, shop to, cồng kềnh, thường bạn chỉ cần mua 1 tháng, tinh chỉnh lớn tất cả giá trị, sau đó chuyển sang tài khoản miễn phí là đủ, so với việc phải nhờ các tay chuyên nghiệp tên tuổi thì chi phí rẻ hơn rất nhiều
Lý do sao dạo này mình chịu khó viết bài hơn, cũng là vì thao tác trong quản trị nhanh hơn =)) mỗi lần save lại bài không bị cọc 😀 xưa có khi bài dài, save lại, 8-10s mới thấy xong 🙁 giờ xuống còn 4-6s 😀 ở các bài ngắn như bài đang viết về Releem này, thời gian khi save lại bài viết chỉ 1-1.5s
Bạn nào thích test hiệu năng cường độ cực cao, để viết thành 1 bài giới thiệu chuẩn chỉ cho Releem, có thể tạo 1 trang WordPress + WooCommerce mới, sau đó dùng FakerPress, WP Dummy Content Generator tạo khoảng 100.000 bài viết, sản phẩm, user, comment …. rồi thử xem Releem có cấu hình nổi không cũng được 😀
Mình bữa cũng có thử =)) mà nhìn số liệu đưa ra không hình dung được vì chưa khi nào chạy 1 trang cỡ thế 😀 ai đang có 1 trang siêu to như thế tự cài rồi đánh giá dễ hơn 😀
Trong rất nhiều tình huống mình thử, sau 3-7 ngày đều thấy Releem cải thiện hiệu quả, 1 vài trường hợp thì thay đổi cực kì lớn, nếu trang bạn đã tối ưu tốt quá rồi, hiệu quả có thể ít hơn hoặc thậm chí kém hơn, cũng rất dễ hiểu 😀
Update
Không liên quan lắm, chủ yếu sau khi mình thêm xóa nhiều quá, tác giả Releem tò mò, chưa hiểu thèng này nó làm gì mà cứ vài hôm cài rồi lại xóa kinh quá, thế nên có email hỏi, trả lời qua lại thì mình có nói là teo đã viết 1 bài giới thiệu về dịch vụ của bọn mài ồi, ảnh coi 1 hồi xong kiu để teo share, nay tình cờ vào twitter thì thấy :]]
Đang khá hài lòng cấu hình MySQL gốc từ CloudPanel sau được Releem tinh chỉnh lại, chạy rất thích, ngoài chuyện nhanh, mượt, còn rất tối ưu về lượng RAM sử dụng
Trước đây khi tự cấu hình, ở bài test WPPerformanceTester, điểm số WordPress Performance thường cao hơn con số trung bình là ~ 3.1, hiện tại đa phần check khoảng ~0.7, nhanh hơn khá nhiều
Hơi tiếc tí là tác giả hêm tặng êm bản Premium để có thể tự thay đổi tất cả các giá trị 😛 nói chứ cũng hài lòng rồi, nhanh hơn nữa thì chỉ có chạy tool benchmark may ra mới cảm nhận được
Chính sách bình luận: Chúng tôi rất trân trọng các bình luận của bạn và cảm ơn thời gian bạn dành để chia sẻ ý tưởng và phản hồi.
Ghi chú: Những bình luận được xác định là spam hoặc chỉ mang tính quảng cáo sẽ bị xóa.
• Để cải thiện trải nghiệm bình luận, chúng tôi khuyến khích bạn tạo một tài khoản Gravatar. Thêm avatar vào tài khoản Gravatar sẽ giúp bình luận của bạn dễ nhận diện hơn đối với các thành viên khác.
• ✂️ Sao chép và 📋 Dán Emoji 💪 giúp bình luận thêm sinh động và thú vị!