PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Heroku Postgres DB chậm hơn sau khi nâng cấp

Tôi đã từng thấy điều này trước đây với một khách hàng đã gọi cho tôi để được trợ giúp khẩn cấp.

Sau khi thực hiện một số trò chơi với heroku bash cuối cùng chúng tôi kết luận rằng phiên bản mới đang ở trên máy chủ cơ bản đặc biệt bận rộn. Chúng tôi đã thực hiện chuyển đổi dự phòng thông qua quảng bá người theo dõi sang một máy khác, tại thời điểm đó, hiệu suất được cải thiện đáng kể - mặc dù việc chuyển đổi dự phòng bản thân của nó đang gặp khó khăn do các vấn đề với máy chủ.

Theo như tôi biết các trường hợp của Heroku là các nút Amazon EC2 (Xen VM) chạy một vùng chứa LXC để cô lập từng cụm cơ sở dữ liệu của người dùng Heroku. LXC cung cấp ít cô lập hơn so với một máy ảo đầy đủ; các phiên bản có thể tranh giành RAM, I / O đĩa, CPU, v.v., tùy thuộc vào chính sách chính xác được định cấu hình với OpenCZ, bất kỳ chính sách nhóm điều khiển nào, v.v.

Nếu bạn đang ở trong một trường hợp mà những người dùng khác không làm nhiều và nếu vùng chứa cho phép DB của bạn sử dụng các tài nguyên hiện không được người dùng khác yêu cầu, bạn có thể dễ dàng nhận thấy hiệu suất ổn định cao hơn mức được đảm bảo.

Tôi nghi ngờ rằng những người trong các gói heroku lớn hơn có nhiều khả năng thực sự đang sử dụng tài nguyên của hệ thống mà bạn đang chia sẻ vùng chứa.

Nếu bạn thực hiện chuyển đổi dự phòng khuyến mại sang phiên bản lớn hơn, nơi tất cả người dùng đều ở đó vì họ thực sự cần các tài nguyên do máy lớn hơn cung cấp, bạn thực sự có thể nhận được ít hơn tài nguyên tổng thể, bởi vì mọi người thực sự đang sử dụng cổ phiếu của họ.

Thật khó chịu khi Heroku cung cấp quá ít khả năng hiển thị vào các hệ thống chạy DB của họ. Thật khó để biết làm thế nào / nếu chúng cân bằng tải giữa các máy chủ chứa, tải cơ bản trên hệ thống là gì, v.v.

Trong một nhận xét, @Forrest đã chỉ ra rằng Heroku có một trang chi tiết máy chủ của họ , cho thấy rằng chỉ có các tầng thấp hơn là có nhiều người thuê, còn các tầng cao hơn thì không. Điều này sẽ dễ dàng giải thích sự mất hiệu suất được quan sát thấy ở đây và phù hợp với nhận xét của tôi ở trên rằng kế hoạch thấp hơn cho phép Forrest mượn các tài nguyên không sử dụng từ những người dùng khác.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khối lượng Docker không tồn tại dữ liệu

  2. Không thể sử dụng người dùng postgres trong cơ sở dữ liệu mới cho rails 3 trên máy chủ ubuntu 10.04

  3. Cách sử dụng mệnh đề bất kỳ Postgres với các truy vấn gốc JPA / Hibernate (tham số mảng)

  4. libpq:Cách lấy mã lỗi sau khi kết nối PGconn không thành công

  5. Xóa phần tử khỏi mảng trong đối tượng JSONB