Thứ hai, 30/12/2019 | 00:00 GMT+7

Cách tối ưu hóa truy vấn MySQL với bộ đệm ProxySQL trên Ubuntu 16.04

ProxySQL là một server proxy nhận biết SQL có thể được định vị giữa ứng dụng và database của bạn. Nó cung cấp nhiều tính năng, chẳng hạn như cân bằng tải giữa nhiều server MySQL và phục vụ như một lớp bộ nhớ đệm cho các truy vấn. Hướng dẫn này sẽ tập trung vào tính năng bộ nhớ đệm của ProxySQL và cách nó có thể tối ưu hóa các truy vấn cho database MySQL của bạn.

MySQL caching xảy ra khi kết quả của một truy vấn được lưu trữ để khi truy vấn đó được lặp lại, kết quả có thể được trả về mà không cần phải sắp xếp thông qua database . Điều này có thể làm tăng đáng kể tốc độ của các truy vấn thông thường. Nhưng trong nhiều phương pháp lưu vào bộ nhớ đệm, các nhà phát triển phải sửa đổi mã của ứng dụng của họ, điều này có thể tạo ra một lỗi trong codebase. Để tránh thực hành dễ xảy ra lỗi này, ProxySQL cho phép bạn cài đặt bộ nhớ đệm trong suốt .

Trong bộ nhớ đệm trong suốt, chỉ administrator database mới cần thay đổi cấu hình ProxySQL để kích hoạt bộ nhớ đệm cho các truy vấn phổ biến nhất và những thay đổi này có thể được thực hiện thông qua giao diện quản trị ProxySQL. Tất cả những gì nhà phát triển cần làm là kết nối với proxy nhận biết giao thức và proxy sẽ quyết định xem truy vấn có thể được phân phát từ bộ nhớ đệm mà không cần đến server back-end hay không.

Trong hướng dẫn này, bạn sẽ sử dụng ProxySQL để cài đặt bộ nhớ đệm trong suốt cho server MySQL trên Ubuntu 16.04. Sau đó, bạn sẽ kiểm tra hiệu suất của nó bằng cách sử dụng mysqlslap có và không có bộ nhớ đệm để chứng minh tác dụng của bộ nhớ đệm và nó có thể tiết kiệm bao nhiêu thời gian khi thực hiện nhiều truy vấn tương tự.

Yêu cầu

Trước khi bắt đầu hướng dẫn này, bạn cần những thứ sau:

Bước 1 - Cài đặt và cài đặt MySQL Server

Đầu tiên, bạn sẽ cài đặt server MySQL và cấu hình nó để ProxySQL sử dụng làm server back-end để phục vụ các truy vấn của khách hàng.

Trên Ubuntu 16.04, mysql-server có thể được cài đặt bằng lệnh sau:

  • sudo apt-get install mysql-server

Nhấn Y để xác nhận cài đặt.

Sau đó, bạn sẽ được yêu cầu nhập password user gốc MySQL của bạn . Nhập một password mạnh và lưu nó để sử dụng sau này.

Đến đây bạn đã có server MySQL của bạn , bạn sẽ cấu hình nó để ProxySQL hoạt động chính xác. Bạn cần thêm user giám sát cho ProxySQL để giám sát server MySQL, vì ProxySQL lắng nghe server back-end thông qua giao thức SQL, thay vì sử dụng kết nối TCP hoặc các yêu cầu HTTP GET đảm bảo rằng phần backend đang chạy. màn hình sẽ sử dụng một kết nối SQL giả để xác định xem server có còn sống hay không.

Đầu tiên, đăng nhập vào MySQL shell:

  • mysql -uroot -p

-uroot đăng nhập bạn bằng cách sử dụng user gốc MySQL và dấu nhắc -p nhập password của user gốc . User gốc này khác với user gốc của server của bạn và password là password bạn đã nhập khi cài đặt gói mysql-server .

Nhập password gốc và nhấn ENTER .

Đến đây bạn sẽ tạo hai user , một người theo dõi được đặt tên cho ProxySQL và một người khác mà bạn sẽ sử dụng để thực hiện các truy vấn của khách hàng và cấp cho họ các quyền phù hợp. Hướng dẫn này sẽ đặt tên cho user này là sammy .

Tạo user màn hình :

  • CREATE USER 'monitor'@'%' IDENTIFIED BY 'monitor_password';

Truy vấn CREATE USER được sử dụng để tạo một user mới có thể kết nối từ các IP cụ thể. Sử dụng % biểu thị rằng user có thể kết nối từ bất kỳ địa chỉ IP nào. IDENTIFIED BY đặt password cho user mới; nhập bất kỳ password nào bạn thích, nhưng nhớ ghi nhớ password đó để sử dụng sau này.

Với màn hình user được tạo, tiếp theo hãy tạo user sammy :

  • CREATE USER 'sammy'@'%' IDENTIFIED BY 'sammy_password';

Tiếp theo, cấp quyền cho user mới của bạn. Chạy lệnh sau để cấu hình màn hình :

  • GRANT SELECT ON sys.* TO 'monitor'@'%';

Truy vấn GRANT được sử dụng để cấp quyền cho user . Ở đây bạn chỉ cấp SELECT trên tất cả các bảng trong database sys cho user giám sát ; nó chỉ cần quyền này để lắng nghe server back-end.

Bây giờ cấp tất cả các quyền cho tất cả database cho user sammy :

  • GRANT ALL PRIVILEGES on *.* TO 'sammy'@'%';

Điều này sẽ cho phép sammy thực hiện các truy vấn cần thiết để kiểm tra database của bạn sau này.

Áp dụng các thay đổi quyền bằng cách chạy như sau:

  • FLUSH PRIVILEGES;

Cuối cùng, thoát khỏi shell mysql :

  • exit;

Đến đây bạn đã cài đặt mysql-server và tạo một user để ProxySQL sử dụng để giám sát server MySQL của bạn và một người khác để thực thi các truy vấn client . Tiếp theo bạn sẽ cài đặt và cấu hình ProxySQL.

Bước 2 - Cài đặt và cấu hình server ProxySQL

Đến đây bạn có thể cài đặt server ProxySQL, server này sẽ được sử dụng làm lớp bộ nhớ đệm cho các truy vấn của bạn. Một lớp bộ nhớ đệm tồn tại như một điểm dừng giữa các server ứng dụng của bạn và các server back-end của database ; nó được sử dụng để kết nối với database và lưu kết quả của một số truy vấn trong bộ nhớ của nó để truy cập nhanh sau này.

Trang Github phát hành ProxySQL cung cấp các file cài đặt cho các bản phân phối Linux phổ biến. Đối với hướng dẫn này, bạn sẽ sử dụng wget để download file cài đặt Debian ProxySQL version 2.0.4:

  • wget https://github.com/sysown/proxysql/releases/download/v2.0.4/proxysql_2.0.4-ubuntu16_amd64.deb

Tiếp theo, cài đặt gói bằng dpkg :

  • sudo dpkg -i proxysql_2.0.4-ubuntu16_amd64.deb

Sau khi nó được cài đặt, hãy khởi động ProxySQL bằng lệnh sau:

  • sudo systemctl start proxysql

Bạn có thể kiểm tra xem ProxySQL đã khởi động đúng cách hay chưa bằng lệnh này:

  • sudo systemctl status proxysql

Bạn sẽ nhận được một kết quả tương tự như sau:

Output
root@ubuntu-s-1vcpu-2gb-sgp1-01:~# systemctl status proxysql ● proxysql.service - LSB: High Performance Advanced Proxy for MySQL Loaded: loaded (/etc/init.d/proxysql; bad; vendor preset: enabled) Active: active (exited) since Wed 2019-06-12 21:32:50 UTC; 6 months 7 days ago Docs: man:systemd-sysv-generator(8) Tasks: 0 Memory: 0B CPU: 0

Bây giờ đã đến lúc kết nối server ProxySQL của bạn với server MySQL. Với mục đích này, hãy sử dụng giao diện SQL quản trị ProxySQL, giao diện này theo mặc định sẽ lắng nghe cổng 6032 trên localhost và có admin làm tên user và password của nó.

Kết nối với giao diện bằng cách chạy như sau:

  • mysql -uadmin -p -h 127.0.0.1 -P6032

Nhập admin khi được yêu cầu nhập password .

-uadmin đặt tên user làm admin và cờ -h chỉ định server lưu trữ là localhost . Cổng là 6032 , được chỉ định bằng cờ -P .

Ở đây bạn phải chỉ định server và cổng rõ ràng vì theo mặc định, client MySQL kết nối bằng file socket local và cổng 3306 .

Đến đây bạn đã đăng nhập vào shell mysql với quyền là admin , hãy cấu hình user giám sát để ProxySQL có thể sử dụng nó. Đầu tiên, hãy sử dụng các truy vấn SQL chuẩn để đặt giá trị của hai biến toàn cục:

  • UPDATE global_variables SET variable_value='monitor' WHERE variable_name='mysql-monitor_username';
  • UPDATE global_variables SET variable_value='monitor_password' WHERE variable_name='mysql-monitor_password';

Biến mysql-monitor_username chỉ định tên user MySQL sẽ được sử dụng để kiểm tra xem server back-end có còn sống hay không. Biến mysql-monitor_password trỏ đến password sẽ được sử dụng khi kết nối với server back-end. Sử dụng password bạn đã tạo cho tên user màn hình .

Mỗi khi bạn tạo thay đổi trong giao diện quản trị ProxySQL, bạn cần sử dụng lệnh LOAD phù hợp để áp dụng các thay đổi cho version ProxySQL đang chạy. Bạn đã thay đổi các biến toàn cục của MySQL, vì vậy hãy tải chúng vào RUNTIME để áp dụng các thay đổi:

  • LOAD MYSQL VARIABLES TO RUNTIME;

Tiếp theo, SAVE các thay đổi vào database trên đĩa để duy trì các thay đổi giữa các lần khởi động lại. ProxySQL sử dụng database local SQLite của riêng nó để lưu trữ các bảng và biến của riêng nó:

  • SAVE MYSQL VARIABLES TO DISK;

Bây giờ, bạn sẽ nói với ProxySQL về server back-end. Bảng mysql_servers giữ thông tin về mỗi server back-end nơi ProxySQL có thể kết nối và thực thi các truy vấn, vì vậy hãy thêm bản ghi mới bằng cách sử dụng câu lệnh SQL INSERT tiêu chuẩn với các giá trị sau cho hostgroup_id , hostnameport :

  • INSERT INTO mysql_servers(hostgroup_id, hostname, port) VALUES (1, '127.0.0.1', 3306);

Để áp dụng các thay đổi, hãy chạy lại LOADSAVE :

  • LOAD MYSQL SERVERS TO RUNTIME;
  • SAVE MYSQL SERVERS TO DISK;

Cuối cùng, bạn sẽ cho ProxySQL biết user nào sẽ kết nối với server back-end; đặt sammy làm user và thay thế sammy_password bằng password bạn đã tạo trước đó:

  • INSERT INTO mysql_users(username, password, default_hostgroup) VALUES ('sammy', 'sammy_password', 1);

Bảng mysql_users chứa thông tin về user được sử dụng để kết nối với các server phía sau; bạn đã chỉ định username , passworddefault_hostgroup .

LOADSAVE các thay đổi:

  • LOAD MYSQL USERS TO RUNTIME;
  • SAVE MYSQL USERS TO DISK;

Sau đó thoát khỏi shell mysql :

  • exit;

Để kiểm tra xem bạn có thể kết nối với server back-end của bạn bằng ProxySQL hay không, hãy thực hiện truy vấn kiểm tra sau:

  • mysql -usammy -h127.0.0.1 -p -P6033 -e "SELECT @@HOSTNAME as hostname"

Trong lệnh này, bạn đã sử dụng cờ -e để thực hiện một truy vấn và đóng kết nối. Truy vấn in tên server của server back-end.

Lưu ý: ProxySQL sử dụng cổng 6033 theo mặc định để lắng nghe các kết nối đến.

Đầu ra sẽ giống như thế này, với your_hostname thay thế bằng tên server của bạn:

Output
+----------------------------+ | hostname | +----------------------------+ | your_hostname | +----------------------------+

Để tìm hiểu thêm về cấu hình ProxySQL, hãy xem Bước 3 của Cách sử dụng ProxySQL làm Bộ cân bằng tải cho MySQL trên Ubuntu 16.04 .

Lúc này, bạn đã cấu hình ProxySQL để sử dụng server MySQL của bạn làm chương trình backend và được kết nối với phần backend bằng ProxySQL. Bây giờ, bạn đã sẵn sàng sử dụng mysqlslap để đánh giá hiệu suất truy vấn mà không cần bộ nhớ đệm.

Bước 3 - Kiểm tra bằng cách sử dụng mysqlslap mà không cần bộ nhớ đệm

Trong bước này, bạn sẽ download một database thử nghiệm để bạn có thể thực thi các truy vấn dựa trên nó bằng mysqlslap để kiểm tra độ trễ mà không cần lưu vào bộ nhớ đệm, đặt điểm chuẩn cho tốc độ truy vấn của bạn. Bạn cũng sẽ khám phá cách ProxySQL lưu giữ các bản ghi truy vấn trong bảng stats_mysql_query_digest .

mysqlslap là một ứng dụng giả lập tải được sử dụng làm công cụ kiểm tra tải cho MySQL. Nó có thể kiểm tra server MySQL bằng các truy vấn được tạo tự động hoặc với một số truy vấn tùy chỉnh được thực thi trên database . Nó được cài đặt với gói client MySQL, vì vậy bạn không cần phải cài đặt nó; thay vào đó, bạn sẽ download database chỉ cho mục đích thử nghiệm, trên đó bạn có thể sử dụng mysqlslap .

Trong hướng dẫn này, bạn sẽ sử dụng cơ sở dữ liệu nhân viên mẫu . Bạn sẽ sử dụng database nhân viên này vì nó có một tập dữ liệu lớn có thể minh họa sự khác biệt trong việc tối ưu hóa truy vấn. Database có sáu bảng, nhưng dữ liệu mà nó chứa có hơn 300.000 profile nhân viên. Điều này sẽ giúp bạn mô phỏng dung lượng công việc production quy mô lớn.

Để download database , trước tiên hãy sao chép repository Github bằng lệnh sau:

  • git clone https://github.com/datacharmer/test_db.git

Sau đó, nhập folder test_db và tải database vào server MySQL bằng các lệnh sau:

  • cd test_db
  • mysql -uroot -p < employees.sql

Lệnh này sử dụng bao chuyển hướng để đọc các truy vấn SQL trong employees.sql file và thực hiện chúng trên server MySQL để tạo cấu trúc database .

Bạn sẽ thấy kết quả như thế này:

Output
INFO CREATING DATABASE STRUCTURE INFO storage engine: InnoDB INFO LOADING departments INFO LOADING employees INFO LOADING dept_emp INFO LOADING dept_manager INFO LOADING titles INFO LOADING salaries data_load_time_diff 00:00:32

Sau khi database được tải vào server MySQL của bạn, hãy kiểm tra xem mysqlslap có đang hoạt động hay không với truy vấn sau:

  • mysqlslap -usammy -p -P6033 -h127.0.0.1 --auto-generate-sql --verbose

mysqlslap có các cờ tương tự như client mysql ; đây là những cái được sử dụng trong lệnh này:

  • -u chỉ định user được sử dụng để kết nối với server .
  • -p nhắc nhập password của user .
  • -P kết nối bằng cổng được chỉ định.
  • -h kết nối với server được chỉ định.
  • --auto-generate-sql cho phép MySQL thực hiện kiểm tra tải bằng cách sử dụng các truy vấn được tạo của chính nó.
  • --verbose làm cho kết quả hiển thị nhiều thông tin hơn.

Bạn sẽ nhận được kết quả tương tự như sau:

Output
Benchmark Average number of seconds to run all queries: 0.015 seconds Minimum number of seconds to run all queries: 0.015 seconds Maximum number of seconds to run all queries: 0.015 seconds Number of clients running queries: 1 Average number of queries per client: 0

Trong kết quả kết quả này, bạn có thể thấy số giây trung bình, tối thiểu và tối đa dành để thực hiện tất cả các truy vấn. Điều này cung cấp cho bạn một dấu hiệu về khoảng thời gian cần thiết để thực hiện các truy vấn của một số khách hàng. Trong kết quả này, chỉ có một client được sử dụng để thực hiện các truy vấn.

Tiếp theo, hãy tìm hiểu những truy vấn mysqlslap thực thi trong lệnh cuối cùng bằng cách xem stats_mysql_query_digest của stats_mysql_query_digest . Điều này sẽ cung cấp cho ta thông tin như thông báo về các truy vấn, đây là một dạng chuẩn hóa của câu lệnh SQL có thể được tham chiếu sau để kích hoạt bộ nhớ đệm.

Nhập giao diện quản trị ProxySQL bằng lệnh này:

  • mysql -uadmin -p -h 127.0.0.1 -P6032

Sau đó, thực hiện truy vấn này để tìm thông tin trong bảng stats_mysql_query_digest :

  • SELECT count_star,sum_time,hostgroup,digest,digest_text FROM stats_mysql_query_digest ORDER BY sum_time DESC;

Bạn sẽ thấy kết quả tương tự như sau:

+------------+----------+-----------+--------------------+----------------------------------+ | count_star | sum_time | hostgroup | digest             | digest_text                      | +------------+----------+-----------+--------------------+----------------------------------+ | 1          | 598      | 1         | 0xF8F780C47A8D1D82 | SELECT @@HOSTNAME as hostname    | | 1          | 0        | 1         | 0x226CD90D52A2BA0B | select @@version_comment limit ? | +------------+----------+-----------+--------------------+----------------------------------+ 2 rows in set (0.01 sec) 

Truy vấn trước đó chọn dữ liệu từ bảng stats_mysql_query_digest , bảng này chứa thông tin về tất cả các truy vấn được thực thi trong ProxySQL. Ở đây bạn đã chọn năm cột:

  • count_star : Số lần truy vấn này được thực thi.
  • sum_time : Tổng thời gian tính bằng mili giây mà truy vấn này cần để thực thi.
  • hostgroup : Group server được sử dụng để thực hiện truy vấn.
  • digest : Thông báo về truy vấn được thực thi.
  • digest_text : Truy vấn thực tế. Trong ví dụ của hướng dẫn này, truy vấn thứ hai được tham số hóa bằng cách sử dụng ? đánh dấu thay cho các tham số biến. select @@version_comment limit 1select @@version_comment limit 2 , do đó, được group lại với nhau dưới dạng cùng một truy vấn với cùng một thông báo.

Đến đây bạn đã biết cách kiểm tra dữ liệu truy vấn trong bảng stats_mysql_query_digest , hãy thoát khỏi shell mysql :

  • exit;

Database bạn đã download chứa một số bảng với dữ liệu demo. Đến đây bạn sẽ kiểm tra các truy vấn trên bảng dept_emp bằng cách chọn bất kỳ bản ghi nào có from_date lớn hơn 2000-04-20 và ghi lại thời gian thực thi trung bình.

Sử dụng lệnh này để chạy kiểm tra:

  • mysqlslap -usammy -P6033 -p -h127.0.0.1 --concurrency=100 --iterations=20 --create-schema=employees --query="SELECT * from dept_emp WHERE from_date>'2000-04-20'" --verbose

Ở đây bạn đang sử dụng một số cờ mới:

  • --concurrency=100 : Điều này đặt số lượng user mô phỏng, trong trường hợp này là 100 .
  • --iterations=20 : Điều này khiến thử nghiệm chạy 20 lần và tính toán kết quả từ tất cả chúng.
  • --create-schema=employees : Ở đây bạn đã chọn database employees .
  • --query="SELECT * from dept_emp WHERE from_date>'2000-04-20'" : Ở đây bạn đã chỉ định truy vấn được thực thi trong thử nghiệm.

Bài kiểm tra sẽ diễn ra trong vài phút. Sau khi hoàn thành, bạn sẽ nhận được kết quả tương tự như sau:

Output
Benchmark Average number of seconds to run all queries: 18.117 seconds Minimum number of seconds to run all queries: 8.726 seconds Maximum number of seconds to run all queries: 22.697 seconds Number of clients running queries: 100 Average number of queries per client: 1

Các con số của bạn có thể hơi khác một chút. Giữ những con số này ở đâu đó để so sánh chúng với kết quả sau khi bạn bật bộ nhớ đệm.

Sau khi thử nghiệm ProxySQL mà không có bộ nhớ đệm, đã đến lúc chạy lại thử nghiệm tương tự, nhưng lần này có bật bộ nhớ đệm.

Bước 4 - Kiểm tra bằng cách sử dụng mysqlslap với bộ nhớ đệm

Trong bước này, bộ nhớ đệm sẽ giúp ta giảm độ trễ khi thực hiện các truy vấn tương tự. Tại đây, bạn sẽ xác định các truy vấn được thực thi, lấy thông báo của chúng từ bảng stats_mysql_query_digest của stats_mysql_query_digest và sử dụng chúng để kích hoạt bộ nhớ đệm. Sau đó, bạn sẽ kiểm tra lại để kiểm tra sự khác biệt.

Để kích hoạt bộ nhớ đệm, bạn cần biết thông tin chi tiết của các truy vấn sẽ được lưu vào bộ nhớ đệm. Đăng nhập vào giao diện quản trị ProxySQL bằng lệnh này:

  • mysql -uadmin -p -h127.0.0.1 -P6032

Sau đó, thực hiện lại truy vấn này để nhận danh sách các truy vấn được thực thi và thông báo của chúng:

  • SELECT count_star,sum_time,hostgroup,digest,digest_text FROM stats_mysql_query_digest ORDER BY sum_time DESC;

Bạn sẽ nhận được một kết quả tương tự như sau:

Output
+------------+-------------+-----------+--------------------+------------------------------------------+ | count_star | sum_time | hostgroup | digest | digest_text | +------------+-------------+-----------+--------------------+------------------------------------------+ | 2000 | 33727110501 | 1 | 0xC5DDECD7E966A6C4 | SELECT * from dept_emp WHERE from_date>? | | 1 | 601 | 1 | 0xF8F780C47A8D1D82 | SELECT @@HOSTNAME as hostname | | 1 | 0 | 1 | 0x226CD90D52A2BA0B | select @@version_comment limit ? | +------------+-------------+-----------+--------------------+------------------------------------------+ 3 rows in set (0.00 sec)

Nhìn vào hàng đầu tiên. Đó là về một truy vấn đã được thực hiện 2000 lần. Đây là truy vấn điểm chuẩn được thực hiện trước đó. Lấy thông báo và lưu nó để được sử dụng trong việc thêm luật truy vấn cho bộ nhớ đệm.

Một vài truy vấn tiếp theo sẽ thêm một luật truy vấn mới vào ProxySQL, luật này sẽ trùng với thông báo của truy vấn trước đó và đặt giá trị cache_ttl cho nó. cache_ttl là số mili giây kết quả sẽ được lưu trong bộ nhớ:

  • INSERT INTO mysql_query_rules(active, digest, cache_ttl, apply) VALUES(1,'0xC5DDECD7E966A6C4',2000,1);

Trong lệnh này, bạn đang thêm một bản ghi mới vào bảng mysql_query_rules ; bảng này chứa tất cả các luật được áp dụng trước khi thực hiện truy vấn. Trong ví dụ này, bạn đang thêm một giá trị cho cột cache_ttl sẽ làm cho truy vấn phù hợp bởi thông báo đã cho được lưu vào bộ nhớ đệm trong một số mili giây được chỉ định trong cột này. Bạn đặt 1 vào cột áp dụng đảm bảo rằng luật được áp dụng cho các truy vấn.

LOADSAVE những thay đổi này, sau đó thoát khỏi shell mysql :

  • LOAD MYSQL QUERY RULES TO RUNTIME;
  • SAVE MYSQL QUERY RULES TO DISK;
  • exit;

Bây giờ bộ nhớ đệm đã được bật, hãy chạy lại kiểm tra để kiểm tra kết quả:

  • mysqlslap -usammy -P6033 -p -h127.0.0.1 --concurrency=100 --iterations=20 --create-schema=employees --query="SELECT * from dept_emp WHERE from_date>'2000-04-20'" --verbose

Điều này sẽ cho kết quả tương tự như sau:

Output
Benchmark Average number of seconds to run all queries: 7.020 seconds Minimum number of seconds to run all queries: 0.274 seconds Maximum number of seconds to run all queries: 23.014 seconds Number of clients running queries: 100 Average number of queries per client: 1

Ở đây bạn có thể thấy sự khác biệt lớn trong thời gian thực hiện trung bình: nó giảm từ 18.117 giây để 7.020 .

Kết luận

Trong bài viết này, bạn cài đặt bộ nhớ đệm trong suốt với ProxySQL để lưu vào cache kết quả truy vấn database . Bạn cũng đã kiểm tra tốc độ truy vấn có và không có bộ nhớ đệm để xem sự khác biệt mà bộ nhớ đệm có thể tạo ra.

Bạn đã sử dụng một cấp bộ nhớ đệm trong hướng dẫn này. Bạn cũng có thể thử, bộ nhớ đệm web , nằm phía trước web server và lưu vào bộ nhớ cache các phản hồi cho các yêu cầu tương tự, gửi phản hồi trở lại client mà không cần đến các server back-end. Điều này rất giống với ProxySQL caching nhưng ở một cấp độ khác. Để tìm hiểu thêm về cache ẩn trên web, hãy xem Kiến thức cơ bản về cache ẩn trên web của ta : Thuật ngữ, Tiêu đề HTTP và Sơ lược về chiến lược bộ nhớ đệm .

Server MySQL cũng có bộ nhớ cache truy vấn của riêng nó; bạn có thể tìm hiểu thêm về nó trong hướng dẫn Cách tối ưu hóa MySQL với Bộ nhớ cache truy vấn trên Ubuntu 18.04 của ta .


Tags:

Các tin liên quan

Cách cấu hình Cụm Galera với MySQL trên server Ubuntu 18.04
2019-12-16
Cách quản lý và sử dụng trình kích hoạt database MySQL trên Ubuntu 18.04
2019-12-10
Cách tạo một ứng dụng trích dẫn đầy cảm hứng bằng AdonisJs và MySQL
2019-11-22
Cách cài đặt MySQL mới nhất trên Debian 10
2019-07-25
Cách triển khai ứng dụng cốt lõi ASP.NET với server MySQL bằng Nginx trên Ubuntu 18.04
2019-07-23
Cách tối ưu hóa MySQL với Bộ đệm truy vấn trên Ubuntu 18.04
2019-06-12
Cách di chuyển database MySQL sang PostgreSQL bằng pgLoader
2019-05-28
Cách cấu hình SSL / TLS cho MySQL trên Ubuntu 18.04
2019-05-17
Cách thiết lập WordPress với MySQL trên Kubernetes bằng Helm
2019-05-07
Cách cho phép truy cập từ xa vào MySQL
2019-03-07