Điểm:2

Thuật ngữ phân loại tiết kiệm rất chậm

lá cờ ae

Tôi có vốn từ vựng với khoảng hơn 15 nghìn thuật ngữ trong hệ thống phân cấp đa cấp. Gần đây tôi nhận thấy rằng với lượng dữ liệu này, khi tôi cố gắng lưu một thuật ngữ ở cấp độ cao hơn (cha của nhiều), sẽ mất rất nhiều thời gian để lưu.

Tôi đã kiểm tra với mô-đun webprofiler và thấy có khoảng 10.000 truy vấn đang chạy cho một thuật ngữ như vậy, bao gồm cả các truy vấn mà nó đang chạy cho các cụm từ con. Tôi không chắc liệu điều này có được mong đợi hay không, nhưng có cách nào để tôi có thể đẩy nhanh quá trình này không? Các truy vấn này bao gồm các bảng như cache, path_alias, taxonomy_term_data, taxonomy_term_revision, key_value, v.v.

Tôi đã thử áp dụng memcached để giảm đáng kể các truy vấn, đặc biệt là từ các bảng bộ đệm, nhưng các truy vấn thuật ngữ con vẫn chạy làm chậm quá trình.

Tôi cũng đã cân nhắc việc chạy quy trình ở chế độ nền, nhưng trong trường hợp đó, nó được cho là sẽ sử dụng cùng một lượng tài nguyên máy chủ. Vấn đề lớn đến mức toàn bộ ứng dụng của tôi chuyển sang trạng thái tạm dừng (đôi khi không khả dụng) khi tôi đang cập nhật một số thuật ngữ thông qua lệnh drush.

Bất kỳ giúp đỡ?

sonfd avatar
lá cờ in
Bạn có gặp sự cố này khi chỉ lưu một thuật ngữ qua giao diện người dùng không? Hay bạn chỉ thấy sự cố khi chạy lệnh drush đang cập nhật nhiều thuật ngữ?
lá cờ ae
Tôi gặp sự cố này ở bất kỳ và mọi nơi tôi cố gắng lưu một thuật ngữ. Có thể là từ ui hoặc theo chương trình. Thuật ngữ trong hệ thống phân cấp càng cao thì càng mất nhiều thời gian.
Điểm:2
lá cờ ae

Tôi đã tìm thấy lý do bắt nguồn từ đâu. Đó là từ mô-đun pathauto có móc cập nhật thực thể tải tất cả phần tử con mỗi khi thuật ngữ phân loại được lưu. Nó được thực hiện để cập nhật bí danh của trẻ em cùng với cha mẹ đang được lưu. Tôi đang nghĩ đến việc mở một phiếu yêu cầu trong hàng đợi phát hành của họ. Ý tưởng là chỉ nên cập nhật các bí danh con khi chúng phụ thuộc vào thuộc tính cha. Giống như /term/[parent-term-name]/[con-term-name].Không chỉ vậy, lý tưởng nhất là nó nên được xử lý trong một queue worker có khóa giao dịch. Hy vọng điều này sẽ giúp ai đó.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.