Profile-Guided Optimization (PGO) is explained as a two-pass compilation technique where a program is first instrumented to record hot and cold code paths under a representative workload, then recompiled using that data to inline hot calls, reorder code layout, and convert indirect calls to direct ones. Testing Percona Server builds revealed that release builds with default PGO show a modest (under 5%) improvement, but compiling MySQL with PGO trained on a specific sysbench-tpcc workload consistently produced slower builds than non-PGO compiles, regardless of thread count tested (128 to 1024). This surprising result prompted further investigation into why the training workload choice matters so much, to be covered in follow-up posts.
Source: https://www.percona.com/blog/pgo-or-not-pgo-this-is-the-dilemma-step-1. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Đang tải bình luận…
Go 1.27 giới thiệu các API vector SIMD đặc thù kiến trúc dưới dạng experimental. API này được phát triển để tận dụng tối đa sức mạnh xử lý song song của các instruction set như AVX-512, NEON, hay SSE2 trên kiến trúc cụ thể. Việc tùy biến theo kiến trúc giúp tăng hiệu năng lên đến 3-4 lần cho các phép tính số học trên vector. Điều đáng học là cách Go cân bằng giữa tính di động và tối ưu hóa hiệu năng, cho phép lập trình viên lựa chọn mức độ tùy chỉnh phù hợp với nhu cầu ứng dụng.
Go 1.27 giới thiệu API vector SIMD cụ thể cho kiến trúc giúp tối ưu hóa hiệu năng ứng dụng.
Trên instance GCP c4d-standard-4, tiến trình MySQL tiêu tốn 10.4 GB RAM dù innodb_buffer_pool_size chỉ được thiết lập là 7168 MB. Khoảng trống này được truy qua 4 lớp: dự kiến overhead từ InnoDB/Performance Schema/thread-buffer, khoảng ~9% mmap chunk padding trên buffer pool, sự tích tụ dirty pages của jemalloc trên DR replica không hoạt động, và nguyên nhân gốc - MALLOC_CONF không được thiết lập khiến decay của background_thread bị vô hiệu hóa. Các sửa chữa gồm giảm buffer pool thành bội số sạch (6144 MB), cắt giảm max_connections từ 3000 xuống 500, bật background_thread của jemalloc với decay 5 giây, và thêm swap để phòng OOM, giúp giảm RSS xuống còn ~7.9 GB. Bài viết cung cấp kiến thức sâu về quản lý memory của MySQL khi sử dụng jemalloc, cách tối ưu buffer pool size và thiết lập MALLOC_CONF phù hợp.
Lập trình viên cần đọc bài này để hiểu cách điều khiển và tối ưu hóa bộ nhớ InnoDB trên MySQL khi các tham số cơ bản như innodb_buffer_pool_size không đủ để giải quyết cảnh báo nhớ, khi hệ thống vẫn tiêu thụ nhiều bộ nhớ hơn dự kiến do các yếu tố như cấu hình bộ nhớ phân vùng, quá trình làm sạch nhớ của jemalloc, hoặc tình trạng replica hoạt động không hiệu quả.
Người thực hành MySQL khuyên không nên dùng các kiểu dữ liệu phức tạp như TIMESTAMP, DATE/TIME hay ENUM, thay vào đó nên dùng các kiểu số đơn giản hơn. Việc sử dụng ENUM gặp vấn đề khi xóa giá trị buộc phải rebuild toàn bộ bảng, cùng lỗi MySQL khiến MIN()/MAX() hoạt động không nhất quán trên ENUM.
Lập trình viên nên đọc bài này để tránh rủi ro về hiệu suất, tính bảo trì và tính nhất quán khi sử dụng các kiểu dữ liệu phức tạp như ENUM và TIMESTAMP trong MySQL, mà thay vào đó có thể áp dụng các giải pháp đơn giản và đáng tin cậy hơn.
Dalibo đã phát hành bản ổn định 1.0 của PostgreSQL Migrator, công cụ mã nguồn mở miễn phí cho phép di chuyển database từ Oracle và MySQL/MariaDB sang PostgreSQL. Được xây dựng hoàn toàn bằng Go, công cụ này cung cấp khả năng kiểm tra catalog ngoại tuyến, đánh giá độ phức tạp, giao diện web tương tác, chuyển đổi schema và dữ liệu, biên dịch SQL/PL-SQL qua công cụ transqlate, và sao chép dữ liệu tốc độ cao. PostgreSQL Migrator hỗ trợ nguồn từ Oracle 11g đến 26ai và MySQL 8.4+/MariaDB 10+, nhắm đến PostgreSQL 16-19, với bản 1.0 hiện chỉ hỗ trợ chuyển đổi roles, schemas, sequences, tables, virtual columns, constraints và indexes. Dự án đạt độ ổn định sau 1 năm beta và release candidates, với cam kết tương thích về cấu hình, CLI và dự án cho tất cả các bản 1.x.
PostgreSQL Migrator 1.0 cung cấp giải pháp toàn diện để chuyển đổi cơ sở dữ liệu từ Oracle và MySQL sang PostgreSQL với nhiều tính năng mạnh mẽ.
Doltgres đã đạt hiệu suất tương đương MySQL nhờ những tối ưu hóa gần đây.
Lập trình viên muốn tối ưu ứng dụng database cho hiệu suất cao và khả năng mở rộng nhanh chóng nên đọc bài này để khám phá cách Doltgres vượt trội so với MySQL trong các trường hợp sử dụng thực tế.
Bài viết giới thiệu các tính năng mới trong MySQL 9.7 LTS, tập trung vào cải thiện sự ổn định và hiệu suất cho môi trường cơ sở dữ liệu.
Là người phát triển cần hiểu về MySQL 9.7 LTS để tối ưu hóa ứng dụng của mình với các cải tiến về ổn định và hiệu suất, đặc biệt khi triển khai trong môi trường sản xuất hoặc hệ thống yêu cầu độ tin cậy cao.
Khi sử dụng pt-online-schema-change với điều kiện --where trên Percona XtraDB Cluster, thuật toán tự động điều chỉnh kích thước chunk gặp vấn đề khi các dòng khớp nằm ở cuối chỉ mục, khiến pt-osc quét nhiều dòng không cần thiết và tạo transaction quá lớn. Các write set khổng lồ này gây ra tình trạng Flow Control nghiêm trọng từ Galera, áp lực checkpoint với InnoDB redo log, và trong một sự kiện thực tế đã làm toàn cụm cluster bị treo. Các giải pháp đề xuất bao gồm tắt tự điều chỉnh chunk với --chunk-time=0, thiết lập --chunk-size cố định, sử dụng --max-flow-ctl để tạm dừng khi có flow control, hoặc cân nhắc --chunk-index để phân bổ dòng tốt hơn. Trường hợp này cho thấy việc hiểu rõ cách tương tác giữa pt-osc và Galera là quan trọng để tránh những sự cố nghiêm trọng trong production.
Bài viết này giúp lập trình viên hiểu và tránh được các vấn đề nghiêm trọng khi sử dụng pt-online-schema-change với Galera cluster.
Một chuyên gia compiler với kinh nghiệm dẫn dắt đội ngũ phát triển YJIT - JIT compiler hiện đang được tích hợp trong CRuby và áp dụng tại các công ty lớn như Shopify, GitHub, Stripe. Người này có bằng PhD về JIT compilation và type analysis, từng làm việc tại Apple với GPU compiler, nghiên cứu AI tại Mila với Bengio, Paull, và Precup, gần nhất là xây dựng PyTorch/ONNX compiler cho startup ML systems. Với hơn 2,500 trích dẫn học thuật và 13 bài báo được bình duyệt, họ đang tìm kiếm vị trí compiler, systems, ML systems hoặc nghiên cứu tại Montreal hoặc remote. Bài viết chi tiết sẽ cung cấp thêm thông tin về kỹ năng cụ thể và định hướng sự nghiệp phù hợp với ứng viên tiềm năng.
Lập trình viên nên đọc bài này để cơ hội làm việc với chuyên gia JIT compiler hàng đầu trong lĩnh vực phát triển hệ thống và học máy.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000+ DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try it