Yêu cầu hệ thống Magento2 Giới hạn bộ nhớ PHP


16

Các yêu cầu hệ thống của Magento 2 liên quan đến giới hạn bộ nhớ PHP ( Giới hạn tài nguyênmemory_limit :) là gì?

Tôi gặp vấn đề khi tìm thấy những thông tin này trong Yêu cầu hệ thống mặc dù ứng cử viên phát hành thứ hai đã bị đẩy ra.


Khi một hệ thống có 2048M cho memory_limit được xem xét, nhận xét từ những người đánh giá là "Đối với vanilla Magento 1024M được đề xuất". Đây là ca. Giữa tháng 10 năm 2015.
hakre

Câu trả lời:


14

Các yêu cầu hệ thống chính thức (hay đúng hơn là: khuyến nghị) là:

Tăng giới hạn bộ nhớ PHP lên ít nhất 768MB cho hoạt động bình thường hoặc 2GB để thử nghiệm.

Nguồn: Khuyến nghị cho CentOSUbuntu

Tôi sẽ chỉ tăng nó lên một giá trị cao hơn nếu bạn gặp phải vấn đề về giới hạn bộ nhớ. Sau đó gỡ lỗi và khắc phục các sự cố này và đặt giới hạn bộ nhớ trở lại bình thường khi thành công.


Công việc định kỳ của tôi không hoạt động ngay cả khi tôi đặt giới hạn bộ nhớ ở mức 768 MB
Vasilii Burlacu

2
Vì thế? Những loại câu trả lời bạn mong đợi cho điều này?
Fabian Schmengler

1
Tôi không mong đợi câu trả lời về nó, tôi chỉ thông báo rằng cron không chạy ngay cả với 768M. Đó là nó. Nó có thể hữu ích cho những người khác đọc trang này.
Vasilii Burlacu

OK, xin lỗi vì sự hiểu lầm. Nhưng tất nhiên điều này phụ thuộc vào những gì cron đang làm. Có thể có các phần mở rộng liên quan cần tối ưu hóa.
Fabian Schmengler

3

Trên thực tế memory_limitlà hoàn toàn tùy thuộc vào bạn, bạn phải xem ứng dụng của bạn hoạt động như thế nào. Đừng nhầm lẫn với số lượng lớn. Bất kỳ tập lệnh nào cũng phải hoạt động nhanh nhất có thể và chiếm không quá 3-4 lần mỗi bộ nhớ quy trình, trung bình là 60MB x 4 = ~ 300MB. IMHO

768mb chỉ là một biện pháp phòng ngừa, vì vậy máy chủ của bạn sẽ không bị tan chảy hoặc không phản hồi.

Trong một số trường hợp nó có thể vượt ra ngoài, vì vậy bạn phải gỡ lỗi những trường hợp này. cấu hình cơ sở dữ liệu và ngăn xếp web của bạn.


Giới hạn bộ nhớ PHP được cấu hình cho mỗi quá trình. Ngoài ra rất nhiều câu trả lời của bạn nghe giống như suy đoán. Và câu đầu tiên chỉ đúng với trường hợp tôi là người có thể định cấu hình nó, nhưng nó không phụ thuộc vào tôi cho dù trường hợp giả sử cấu hình của 128M Magento sẽ từ chối hoạt động. Bạn đã xác minh số cụ thể 768M mà bạn đưa ra trong câu trả lời rằng nó đang hoạt động chưa? Dựa trên đặc điểm kỹ thuật nào là tính toán của bạn, bạn có thể vui lòng tham khảo nó với một siêu liên kết và trích dẫn các phần cơ bản từ nó không? Làm thế nào để thêm vào câu trả lời nhất định?
hakre

bạn chỉ không hiểu - nó sẽ hoạt động với giá trị mặc định, thậm chí bạn có thể đặt -1nó chỉ đơn giản phụ thuộc vào mã magento và cấu hình ngăn xếp của bạn. bạn phải tự mình đến đây, để tìm đúng giới hạn.
MagenX

Tôi xin lỗi, nhưng tôi chưa hỏi về cách định cấu hình hoặc thay đổi giới hạn bộ nhớ PHP. Tôi hoàn toàn nhận thức được nó và cách nó hoạt động. Tôi đang hỏi về những gì nhà cung cấp phần mềm Magento Commerce Phiên bản 2 chỉ định là giới hạn bộ nhớ. Nếu bạn đặt thành -1 chẳng hạn, nhưng hệ thống bạn có Magento 2 đang chạy chẳng hạn chỉ có 128 MB thì hệ thống đó chắc chắn sẽ không phù hợp với yêu cầu của hệ thống. Mặc dù bạn đặt giới hạn bộ nhớ PHP thành -1. Điểm trong câu hỏi ở đây là yêu cầu tham khảo. Trong câu trả lời của bạn, bạn không cung cấp cho Magento 2 tài liệu tham khảo cụ thể.
hakre

tôi đã cho bạn lời giải thích, giá trị này không phải là hằng số hoặc được cung cấp chính xác đến một byte. dù sao nếu bạn cần xác nhận yêu cầu hệ thống, bạn phải viết thư cho bộ phận hỗ trợ magento.
MagenX

2

Magento 2 giới hạn mức sử dụng bộ nhớ của nó ở mức 768M trong tệp .htaccess chính: https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/.htaccess#L40
Đây chỉ là một yêu cầu duy nhất. Nếu cửa hàng của bạn cần phục vụ đồng thời 10 yêu cầu HTTP thì bạn cần tối đa 10 * 768M = 7680M bộ nhớ cho trình thông dịch PHP (thực tế nó thấp hơn nhiều do sử dụng bộ đệm, nhưng có một số tác vụ cần nhiều bộ nhớ như biên dịch, reindex, một số tích hợp hệ thống thứ 3 đôi khi vô hiệu hóa giới hạn bộ nhớ của nó và sử dụng rất nhiều bộ nhớ).
Ngoài ra, bạn cần một số bộ nhớ cho môi trường phần mềm khác: MySQL, máy chủ web, phần mềm thư, hệ điều hành, v.v.


1
10 yêu cầu HTTP đồng thời sau đó bạn cần tới 10 * 768M = 7680M WHOA ... thật là một buổi sáng thứ bảy ... nếu ứng dụng của bạn chiếm nhiều bộ nhớ như vậy, thì tôi sẽ không chắc về chất lượng của các tiện ích mở rộng. ..
MagenX

bạn đã bao giờ đọc hướng dẫn đó chưa ??? php.net/manual/en/ini.core.php#ini.memory-limit
MagenX
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.