Danh sách các biến của hệ thống Query Cache

Một phần của tài liệu NGHIÊN CỨU ẢNH HƯỞNG CỦA CACHING ĐẾN HIỆU NĂNG TRUY VẤN CỦA CÁC ỨNG DỤNG WEB (Trang 33 - 35)

4 Cài đặt một ứng dụng thử nghiệm và đánh giá hiệu năng

3.2Danh sách các biến của hệ thống Query Cache

của file my.cnf, là file cấu hình của MySQL:

query_cache_type = 1 query_cache_size = 128

Danh sách các biến hệ thống của Query Cache bạn có thể xem hình 3.2.

3.2.2 Sử dụng Query Cache

Nếu chúng ta không thực sự muốn lưu trữ mọi truy vấn vào trong query cache, chúng ta có thể đặt tùy chọn cho biến query_cache_type. Biến này có ba tùy chọn: OFF, ON và DEMAND4 . Nếu biến query_cache_type được đặt với tùy chọn

OFF, nghĩa là sẽ tắt chức năng query cache. Nếu không muốn lưu trữ mọi tập kết quả, chúng ta có hai tùy chọn:

• Lưu trữ tất cả các truy vấn, trừ một số truy vấn có chọn lựa. Đặt biến

query_cache_type với tùy chọn ON và đặt biến query_cache_size có giá trị lớn hơn 0 cho phép lưu trữ các truy vấn của câu lệnh SELECT với các quy tắc ở trên. Điều này có nghĩa là query cache sẽ lưu trữ tất cả các truy vấn có thể, và chúng ta có thể lựa chọn những truy vấn nào không được lưu trữ bằng cách dùng SELECT SQL_NO_CACHE.

• Không lưu trữ tất cả mọi truy vấn, trừ những truy vấn được lựa chọn. Đặt biếnquery_cache_typevới tùy chọnDEMANDvà đặt biếnquery_cache_size

có giá trị lớn hơn 0 cho phép chỉ lưu trữ các truy vấn của câu lệnh SELECT

với mệnh đề điều kiện SQL_CACHE. Trong trường hợp này, các query cache sẽ không lưu trữ mọi truy vấn trừ những truy vấn mà chúng ta chọn bằng cách dừng SELECT SQL_CACHE.

Sử dụng và điều chỉnh bộ nhớ Query cache

Query cache cho máy chủ được lưu trữ hoàn toàn trong bộ nhớ, và nó sẽ bị mất khi mysqld khởi động lại. Mặc định, sẽ có 40 Kb bộ nhớ được cấp phát cho việc sử dụng query cache. Toàn bộ không gian nhớ được cấp phát là những vùng nhớ liên tiếp trong bộ nhớ chính. Những vùng nhớ này khi hoạt động lại được chia thành các khối nhỏ hơn. Các khối này được sử dụng để lưu những tập kết quả của các truy vấn. Kích thước nhỏ nhất của mỗi khối được xác định bởi

query_cache_min_res_unit. Mặc định, mỗi khối sẽ có độ lớn là 4 Kb. Đối với những tập kết quả nhỏ hơn 4 Kb, nó vẫn sử dụng 4 Kb của bộ nhớ để lưu vào một khối. Khi có một truy vấn được lưu trữ, máy chủ sẽ tiến hành cấp phát các khối nhớ để lưu trữ dữ liệu của truy vấn sao cho kích thước khối là nhỏ nhất và chứa vừa dữ liệu của truy vấn yêu cầu.

Nhìn chung, quá trình cấp phát các khối nhớ là tương đối chậm, bời vì máy chủ cần xem xét, xác định danh sách các khối nhớ còn trống và dung lượng tương ứng của nó để có thể lưu trữ được dữ liệu yêu cầu hay không. Quá trình cấp phát khối nhớ được minh họa như hình 3.3.

Một phần của tài liệu NGHIÊN CỨU ẢNH HƯỞNG CỦA CACHING ĐẾN HIỆU NĂNG TRUY VẤN CỦA CÁC ỨNG DỤNG WEB (Trang 33 - 35)