2012-07-04 24 views
5

Tôi đang sử dụng RDS trên amazon với giao diện MySQL. Ứng dụng của tôi chạy trên các nút EC2 và đọc/cập nhật cơ sở dữ liệu, nhưng số lần đọc và ghi là quá nhiều và làm giảm hiệu suất. Hầu hết thời gian số lượng kết nối vượt quá giới hạn cho phép. Tôi đã cân nhắc việc sử dụng Elasticache để cải thiện hiệu suất, tuy nhiên tôi không tìm thấy tài nguyên trên web, cách cấu hình cơ sở dữ liệu để sử dụng hiệu quả này. Đây có phải là cách tốt nhất để cải thiện hiệu năng đọc/ghi của tôi không? Bất kỳ đề xuất nào?Sử dụng ElastiCache với RDS để cải thiện hiệu năng đọc/ghi

Trả lời

6

Bạn không thể chỉ cần "bật" memcache. Bạn cần phải viết mã tương tác với memcache, sao cho kết quả truy vấn cơ sở dữ liệu của bạn được lưu trữ trong memcache. Hãy xem hướng dẫn sử dụng này - Tôi nghĩ rằng nó sẽ cung cấp cho bạn một ý tưởng tốt cho cách memcache được sử dụng:

http://www.memcachier.com/documentation/memcache-user-guide/

0

Hiệu suất có liên quan đến các loại và cấu trúc của các truy vấn sử dụng, vì vậy có thể có một số phòng để tối ưu hóa. Có thể bạn có thể cung cấp thêm chi tiết về các truy vấn chính xác được sử dụng. Tuy nhiên, bạn có thể giải quyết vấn đề này từ góc độ khác - nếu bạn có khả năng tự động mở rộng, bạn có thể mở rộng cơ sở dữ liệu của mình thành các máy bổ sung nếu cần, vì vậy bạn có thể chứa số lượng kết nối vô hạn ngay cả khi không có bất kỳ tối ưu hóa hiệu suất nào (tất nhiên nếu bạn tối ưu hóa nó sẽ cải thiện hiệu suất). Điều này không thể thực hiện trên RDS, nhưng có ít nhất hai nhà cung cấp DB đám mây khác đang chạy trên EC2 mà tôi biết có cung cấp quy mô tự động nào - www.xeround.comwww.enterprisedb.com.

+0

www.xenround.com vẫn đang trong giai đoạn beta. – spideringweb

0

Bạn có thể sử dụng bộ đệm đàn hồi làm bộ nhớ cache cấp thứ hai cho db của bạn. Nếu bạn sử dụng java, bạn có thể sử dụng lib hibernate-memcached. Tuy nhiên, bạn vẫn cần cấu hình cách thức và bộ nhớ cache trong bộ nhớ cache cấp thứ hai tùy thuộc vào dữ liệu của bạn.

Ngoài ra, bạn có thể sử dụng bản sao đã đọc ở RDS ít nhất để chia nhỏ lưu lượng đọc.

(Loại trường hợp nào bạn đang sử dụng, bạn thấy rằng chúng có dung lượng i/o khác nhau?)

Các vấn đề liên quan