2012-03-06 44 views
8

Con đường tôi đang sử dụng Magento là như thế này:Làm thế nào để sử dụng Magento bộ nhớ đệm trong khi sử dụng "API Magento"

  • Chúng tôi đang sử dụng Magento admin/bảng điều khiển để cửa hàng thiết lập, danh mục và các công cụ liên quan
  • Chúng tôi sử dụng giao diện SOAP & RPC của Magento cho khách hàng của chúng tôi đối mặt với cửa hàng, danh mục, sản phẩm, mua hàng, đánh giá vv trong lớp giao diện người dùng của chúng tôi được thực hiện bằng cách gọi các API Magento khác nhau.

Điều chúng tôi nhận thấy rằng mặt tiền của khách hàng đối mặt với chúng tôi khá chậm vì Magento SOAP & RPC API mất nhiều thời gian để trả lại dữ liệu ngay cả với dữ liệu mẫu đi kèm với tải xuống Magento. Ngay cả sau khi chúng tôi đã kích hoạt tất cả các bộ nhớ đệm có sẵn trong bảng quản trị Magento, chúng tôi nhận thấy rằng Magento đang gửi mọi truy vấn đến cơ sở dữ liệu MySQL và những truy vấn này có xu hướng làm chậm toàn bộ điều dưới tải nặng liên tục.

Vì vậy, tôi đã tự hỏi liệu tôi đã thiết lập mọi thứ đúng hay bỏ sót gì đó? Tôi lặp lại ở đây chúng tôi không sử dụng giao diện người dùng Magento nhưng có lớp UI từ xa được xây dựng bằng cách sử dụng Java EE, Spring MVC, vv giao tiếp với Magento bằng giao diện SOAP & RPC API của nó.

Có một số hình thức lưu bộ nhớ cache khác được bật cho các cuộc gọi API này không? Và làm thế nào để tránh các cuộc gọi cơ sở dữ liệu từ Magento bằng cách sử dụng một số loại hỗ trợ bộ nhớ đệm?

+0

Xin chào Anubhava, tôi có tình huống tương tự và muốn biết thêm về trải nghiệm của bạn. Bạn có thể giải quyết vấn đề này không? – 142857

+1

@ 142857: Không, tôi không thể tìm thấy bất kỳ phương pháp lưu trữ bộ nhớ đệm Magento nào để tránh các cuộc gọi DB trong khi sử dụng API SOFA của Magento. Chúng tôi đã đặt một proxy ở phía trước Magento để hỗ trợ loại bộ nhớ đệm này. – anubhava

+0

Tôi đã biết đến từ một người dùng khác rằng magento apis chậm so với theming, do đó không phải là một cách ưa thích của phát triển. Bạn có nhận thấy sự khác biệt như vậy không? Ngoài ra, sẽ yêu cầu nhận xét của bạn tại http://stackoverflow.com/questions/12640491/using-magento-apis-for-ecommerce-website#comment17050533_12640491 – 142857

Trả lời

7

Bộ nhớ cache cấu hình sử dụng Magento (XML) trong API cũng như quyền truy cập giao diện người dùng thông thường. Chi phí lấy dữ liệu từ MySQL bằng cách sử dụng API giống với việc sử dụng truy cập giao diện người dùng. Chưa có bộ nhớ cache đáp ứng API gốc, chỉ XML và MySQL Query Cache. Bạn phải tự thêm proxy hoặc bất kỳ thứ gì khác.

Theo ý kiến ​​khiêm tốn của tôi, nhận dữ liệu được lưu trong bộ nhớ cache sẽ gây đau đớn, bạn có thể nhận dữ liệu trễ và không khớp. Tôi sẽ bắt đầu với một hoạt động tốt của MySQL và HTTP Server như được mô tả trong http://info.magento.com/rs/magentocommerce/images/Magento_PerformanceWhitepaper-EEv1-9.1.pdf.

+0

+1 để dành thời gian trả lời câu hỏi này. Tôi sẽ đọc tài liệu lót. – anubhava

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