Domain, hosting, vps giá rẻ
Kết quả 1 đến 1 của 1

Chủ đề: MySQL Query Cache - Tối ưu hóa MySQL Query Cache

  1. #1
    nghiammo1992's Avatar
    Bài viết
    5,073
    Cấp độ
    Bang hội
    Tiếu Ngạo
    Tu luyện
    Độ kiếp Hư Thần
    Giới tính
    Con trai
    Join Date
    Jun 2012
    Đến từ
    Hà Giang
    Tuổi
    32
    Danh vọng
    10
    Điện thoại
    0367790762

    MySQL Query Cache - Tối ưu hóa MySQL Query Cache

    Khi database của bạn lớn/nhiều hoặc lượng truy cập và liên tục , chắc chắn MySQL sẽ chiếm rất nhiều tài nguyên và khiến server load cao. Để hạn giảm load cho server , chúng ta có thể cache lại kết quả của các lần query vào bộ nhớ RAM. Tính năng này được MySQL hỗ trợ từ phiên bản 4.0.1 trở lên, để enable chức năng này chúng ta cần đặt các giá trị sau vào file /etc/my.cnf :
    query_cache_type = 1
    query_cache_size = 256M
    query_cache_limit = 2M

    Trong đó:
    • query-cache-type : enable or disable tính năng query cache (enable = 1 ; disable = 0)
    • query-cache-size : lượng RAM dành cho việc cache query result.
    • query-cache-limit: dung lượng tối đa của một query result mà mình cho phép cache.

    - Kiểm tra xem query cache đã được kích hoạt hay chưa :
    mysql -u root -p
    show variables like '%query_cache%';

    +——————————+———–+
    | Variable_name | Value |
    +——————————+———–+
    | have_query_cache | YES |
    | query_cache_limit | 2097152 |
    | query_cache_min_res_unit | 4096 |
    | query_cache_size | 268435456 |
    | query_cache_type | ON |
    | query_cache_wlock_invalidate | OFF |
    +——————————+———–+

    - Kiểm tra xem query cache đã hoạt động hay chưa :
    mysql -u root -p
    show status like '%qcache%';

    +————————-+———-+
    | Variable_name | Value |
    +————————-+———-+
    | Qcache_free_blocks | 17034 |
    | Qcache_free_memory | 36995488 |
    | Qcache_hits | 4455579 |
    | Qcache_inserts | 702176 |
    | Qcache_lowmem_prunes | 87400 |
    | Qcache_not_cached | 76260 |
    | Qcache_queries_in_cache | 20198 |
    | Qcache_total_blocks | 78340 |
    +————————-+———-+

    - Vài thông số quan trọng cần chú ý :
    • Qcache_free_memory : lượng RAM hiện tại còn trống (chưa sử dụng) cho việc cache. Nếu thông số này quá cao bạn có thể giảm query_cache_size xuống , nếu quá thấp thì nâng query_cache_size lên.
    • Qcache_hits : số lượng query được lấy trong cache ra sử dụng thay vì phải thực hiện “real query” đến CSDL.
    • Qcache_inserts : số lượng query đã được add vào cache.
    • Qcache_lowmem_prunes : mỗi khi vùng nhớ dành cho việc cache bị hết (Qcache_free_memory thấp), khi add thêm query vào cache MySQL cần phải giải phóng 1 ít bộ nhớ để chứa query này. Mỗi lần thu hồi vùng nhớ , con số này tăng lên 1. Nếu số này quá lớn chứng tỏ lượng RAM dành cho việc cache(query_cache_size) không đủ và cần phải tăng lên. Nếu số này bằng 0 thì lượng RAM dành cho cache quá lớn , cần giảm lại.
    • Qcache_queries_in_cache : số lượng query hiện tại đang được cache.


    - File /etc/my.cnf
    #
    # This group is read both both by the client and the server
    # use it for options that affect everything
    #
    [client-server]

    #
    # include all files from the config directory
    #
    !includedir /etc/my.cnf.d

    [mysqld]
    query_cache_type = 1
    query_cache_size = 512M
    query_cache_limit = 2M

    key_buffer_size = 500M
    key_buffer = 500M
    table_cache = 4000
    sort_buffer_size = 3M
    read_buffer_size = 2M
    read_rnd_buffer_size = 8M
    myisam_sort_buffer_size = 64M
    max_connections = 400
    tmp_table_size=20M
    max_heap_table_size=20M
    thread_cache_size = 64
    Lần sửa cuối bởi nghiammo1992, ngày 06/05/2015 lúc 11:48.
    Diễn đàn chia sẻ kiến thức điện thoại: http://chiase123.com
    Click vào Hiện ra để xem chữ ký của mình :X

Thông tin về chủ đề này

Users Browsing this Thread

Có 1 người đang xem chủ đề. (0 thành viên và 1 khách)

Các Chủ đề tương tự

  1. [Linux CentOS] How To Install Linux, nginx, MySQL, PHP (LEMP) stack on CentOS 6
    Bởi nghiammo1992 trong diễn đàn VPS - Server
    Trả lời: 5
    Bài viết cuối: 09/01/2021, 23:38
  2. [Linux Centos 7] Cài đặt Nginx, MySQL, PHP (LEMP)
    Bởi nghiammo1992 trong diễn đàn VPS - Server
    Trả lời: 0
    Bài viết cuối: 15/09/2014, 3:27
  3. Trả lời: 1
    Bài viết cuối: 19/06/2014, 8:20
  4. [MySQL] Change Collation in Database
    Bởi nghiammo1992 trong diễn đàn PHP & MySQL
    Trả lời: 0
    Bài viết cuối: 17/02/2014, 3:08
  5. Trả lời: 0
    Bài viết cuối: 04/02/2014, 23:48
  6. [MySQL] Xử lý nội dung trùng lặp trong Database
    Bởi nghiammo1992 trong diễn đàn PHP & MySQL
    Trả lời: 0
    Bài viết cuối: 04/02/2014, 17:54
  7. [Linux] Hướng dẫn xóa (uninstall) mysql, apache và php
    Bởi nghiammo1992 trong diễn đàn VPS - Server
    Trả lời: 0
    Bài viết cuối: 15/11/2013, 19:57
  8. [MySQL] Lệnh tìm kiếm và thay thế nội dung trong MySQL
    Bởi nghiammo1992 trong diễn đàn PHP & MySQL
    Trả lời: 0
    Bài viết cuối: 20/10/2013, 23:31
  9. Trả lời: 1
    Bài viết cuối: 01/10/2013, 21:39
  10. Trả lời: 1
    Bài viết cuối: 02/07/2013, 23:16

Tag của Chủ đề này

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •