Hiệu suất máy chủ MySql chậm - Kiểm tra cái gì và như thế nào?


10

bắt đầu: từ chối trách nhiệm

Tôi không phải là DBA Máy chủ MySql; Tôi biết phần lớn về MSSQL - đó là lý do tại sao tôi cần sự giúp đỡ của bạn.

kết thúc: từ chối trách nhiệm

Tôi đã được yêu cầu kiểm tra lý do tại sao công cụ máy chủ MySql hoạt động kém - Tôi chưa thấy hoặc giữ các cơ sở dữ liệu liên quan và muốn biết bắt đầu từ đâu.

Tôi bắt đầu từ đâu?

Những câu hỏi nào tôi nên hỏi những người có quyền truy cập vào MySql - tôi thậm chí không biết họ đang sử dụng phpmyadmin hay một số công cụ khác.

Bản chất:

  • Những mặt hàng nào tôi nên yêu cầu và làm thế nào tôi sẽ trả lời từng món đồ họ đưa ra?

Các mục chính để yêu cầu khi vấn đề là trong hiệu suất của cơ sở dữ liệu?

trong MSSQL Tôi có thể kiểm tra sp_who2các kết nối hiện có để xem có thứ gì đang chặn không, đối tác trong mysql là gì? * không phải cụ thể vì có thể có nhiều loại kết quả cho mỗi mục nhưng muốn giúp bóng lăn vì nó ảnh hưởng đến người dùng - rõ ràng họ đã thiết lập công cụ mysql mà không cần có dba trên máy bay.


Bạn đã kiểm tra các sự cố ressource thông thường - CPU đầy, RAM đầy / không sử dụng, quá tải IO? 101 thứ bạn sẽ bắt đầu với trên một máy chủ sql?
TomTom

Không có cơ hội - Tôi chỉ muốn được chuẩn bị một khi tôi đến để mọi thứ tiếp tục di chuyển - có thể mọi người đã kiểm tra tại chỗ và với cả máy chủ ứng dụng và db với thông số kỹ thuật cao (công ty bị phá hủy) i muốn tập trung vào những gì xảy ra nếu phần cứng không phải là vấn đề
Yasker Yasker

Hết bí mật - bắt đầu từ đó. Tôi đã thấy "máy chủ cao cấp" với một đĩa cứng SCSI (rằng chúng phải rút khỏi một số phiên đấu giá ebay) có thời gian phản hồi nhiều giây ... Tôi sẽ xác nhận bên IO. Nó cũng sẽ giúp - quá nhiều IO có thể chỉ ra các chỉ số bị thiếu nếu các con số hoàn toàn vô lý.
TomTom

Câu trả lời:


9
  • Ghi nhật ký truy vấn chậm- Nếu hệ thống của bạn có vô số truy vấn, sẽ khó khăn hơn để tìm ra truy vấn nào đang làm chậm hệ thống của bạn. MySQL cung cấp một công cụ để ghi lại các truy vấn chậm để phân tích thêm http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

  • EXPLAIN Lệnh mở rộng hiển thị chi tiết về các truy vấn của bạn khi bạn không biết chuyện gì đang xảy ra http://dev.mysql.com/doc/refman/5.0/en/explain-extends.html

  • Để tăng tốc các truy vấn của bạn, hãy sử dụng Index - Một thực tiễn tốt là thêm chỉ mục bằng cách xem trường nào trong mệnh đề WHERE thêm chỉ mục cho chúng. Ngoài ra nếu bạn đang truy xuất tất cả các trường từ một bảng, truy vấn sẽ chậm hơn bằng cách tìm nạp tất cả dữ liệu từ đĩa. Trong truy vấn CHỌN, bạn nên chỉ định trường nào bạn cần mang theo thay vào đó để mang tất cả chúng bằng *
  • Sử dụng Cache truy vấn http://dev.mysql.com/doc/refman/5.1/en/query-cache-configuration.html
  • Đảm bảo rằng các tùy chọn tệp cấu hình máy chủ MySQL của bạn được tối ưu hóa theo phần cứng của bạn http://dev.mysql.com/doc/refman/5.5/en/option-files.html
  • Đảm bảo rằng bạn đang sử dụng các loại dữ liệu được tối ưu hóa trong khi tạo cấu trúc bảng Ví dụ: các trường "Nhận xét" có kích thước 256 ký tự, trả lời MYSQL bằng một trường có loại VARCHAR (256) thay vì sử dụng văn bản. Các truy vấn sẽ nhanh hơn nhiều.

Routure_Analyse () có thể giúp bạn tìm các loại dữ liệu tối ưu:

http://www.mysqlperformanceblog.com/2009/03/23/procedure-analyse/

http://dev.mysql.com/doc/refman/5.0/en/procedure-analyse.html

  • Có các công cụ nguồn mở từ Percona - http://www.percona.com/software/percona-toolkit có thể hữu ích cho MySQL DBA và đặc biệt là những người mới sử dụng MySQL, những công cụ này sẽ hỗ trợ tốt cho họ.
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.