Điều chỉnh hiệu suất máy chủ WAMP cho MySQL


7

Chúng tôi có một trang web Drupal với gần 2000 trang đang chạy trên máy chủ WAMP . Các trang cũng chứa hình ảnh và video flash được nhúng vào chúng. Vì vậy, họ đang dành một chút thời gian để tải trong cài đặt bình thường.

Gần 200-300 người dùng dự kiến ​​sẽ sử dụng hệ thống đồng thời (số lượng dự kiến ​​sẽ tăng sau).

Máy chủ dev (trên mạng nội bộ của công ty chúng tôi) có RAM 16 GB và chạy HĐH Windows7 - 64 bit. Tôi có thể thấy rằng trong wamp/bin/mysql/mysql5.5.16/có tập tin

  1. my.ini
  2. my-huge.ini
  3. my-innodb-heavy-4G.ini

Tôi đã xem xét cả hai và tôi không chắc mục đích của mỗi người trong số họ là gì và máy chủ WAMP của tôi hiện đang sử dụng cái nào. Ngoài ra, tôi cần phải biết sự khác biệt trong việc sử dụng my-huge.inimy-innodb-heavy-4G.ini. Tôi cũng đã cấu hình Apache SOLR để lập chỉ mục tìm kiếm (Tôi không biết điều này có liên quan không).

PS: Drupal lưu các trang (cùng với liên kết đến hình ảnh và video) vào cơ sở dữ liệu và hình ảnh và phương tiện khác được lưu trữ trong thư mục dưới gốc trang web.


Tôi nghĩ rằng bạn có thể lưu trữ phương tiện truyền thông vào đĩa cứng và liên kết với chúng.
Jasper Ma

Bạn có thể đặc sắc hơn không?
Ajit S

Cũng xem câu trả lời này: serverfault.com/questions/321805/
Kẻ

Câu trả lời:


6

Sự khác biệt phải làm với công suất dự kiến ​​mysqld được yêu cầu xử lý

my_huge.ini

  • không có max_connections được đặt
  • có cài đặt innodb nhận xét
  • giá trị đặt trước
    • sort_buffer_size = 2M
    • read_buffer_size = 2M
    • read_rnd_buffer_size = 8M
    • myisam_sort_buffer_size = 64M

my-innodb-heavy-4G.ini

  • có max_connections được đặt ở 100
  • đã bật cài đặt innodb
  • giá trị đặt trước
    • max_allowed_packet = 16M
    • binlog_cache_size = 1 triệu
    • max_heap_table_size = 64M
    • read_buffer_size = 2M
    • read_rnd_buffer_size = 16M
    • sort_buffer_size = 8M
    • tham gia_buffer_size = 8M
    • thread_cache_size = 8
    • thread_concurrency = 8
    • truy vấn_cache_size = 64M
    • truy vấn_cache_limit = 2M

Giá trị mặc định được sử dụng nếu không được chỉ định. Bất cứ ai bạn muốn sử dụng, bạn phải sao chép nó qua my.ini và khởi động lại mysqld để có hiệu lực.

  • Nếu sử dụng my-giant.ini, bạn phải tắt mysqld, sao chép my-innodb-heavy-4G.ini sang my.ini sau đó khởi động mysqld.
  • Nếu sử dụng my-innodb-heavy-4G.ini, bạn phải tắt mysqld, xóa các tệp nhật ký innodb (ib_logfile0, ib_logfile1), sao chép my-innodb-heavy-4G.ini vào my.ini sau đó khởi động mysqld.

Vì bạn cho biết số lượng Kết nối DB dự kiến ​​sẽ tăng lên, bạn phải tăng max_connections lên các giá trị cao hơn nhưng bạn phải cân bằng việc sử dụng RAM. Cách tốt nhất để cân bằng nó sẽ chạy một số chương trình chẩn đoán như mysqltuner.pl và nhận các đề xuất điều chỉnh cài đặt cho mỗi kết nối và mỗi phiên bản.

Vì bạn đang chạy MySQL trong môi trường WAMP, tôi sẽ không vượt quá 25% RAM cho tổng bộ nhớ vì bạn phải cung cấp cho Windows, Apache và PHP (hoặc Perl hoặc Python) về RAM. (Tôi rất vui vì bạn đang sử dụng Apache chứ không phải IIS, nếu không đây sẽ là môi trường WIMP !!!)


cảm ơn bạn .. tôi đã xem nó Điều này là do tôi có trách nhiệm điều chỉnh các cài đặt cho toàn bộ trang web (phát triển, thiết kế, cài đặt cơ sở dữ liệu, v.v.) và từ nền tảng phát triển, việc biết các cài đặt phút trở nên khó khăn. Tôi sẽ giữ câu hỏi được đăng và tôi cho rằng tiền thưởng sẽ tự động chuyển đến bạn (:
Ajit S

Bạn phải tự thưởng tiền thưởng. Bạn có thể làm như vậy ngay bây giờ hoặc đợi 5 ngày ra và sau đó trao giải. Nếu bạn không làm gì, tôi sẽ chỉ được thưởng một nửa vào cuối thời gian ân hạn 5 ngày + 1 ngày.
RolandoMySQLDBA

@RolandoMySQLDBA Tôi chắc chắn sẽ làm điều đó. Cảm ơn câu trả lời của bạn ..
Ajit S
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.