Điểm:0

Lưu nhiều thực thể trong một giao dịch

lá cờ br

Chúng tôi có một điểm cuối API tùy chỉnh để xử lý dữ liệu cho nhiều người dùng. Thật không may, chúng tôi đang gặp sự cố về hiệu suất vì mỗi khi chúng tôi lưu một thực thể người dùng, thao tác lưu sẽ mất 3-4 giây để hoàn tất. Rõ ràng, điều này là không lý tưởng, vì 10 người dùng sẽ mất 30-40 giây để hoàn thành toàn bộ yêu cầu...

Có cách nào để lưu nhiều thực thể cùng một lúc (chẳng hạn như bạn có thể tải nhiều thực thể cùng một lúc) hay đây chỉ là một vấn đề hiệu suất kém khác của Drupal mà chúng ta phải đối mặt?

lá cờ cn
Tôi khá chắc chắn rằng không có phương pháp nào cho điều đó trong cốt lõi; thực thể người dùng có nhiều trường trong trang web của bạn không? Các thực thể khác (các loại khác nhau như nút) có số lượng trường tương tự có mất cùng loại thời gian để lưu không? Bạn đang đo toàn bộ yêu cầu sau 3-4 giây hay bạn đã lập hồ sơ người dùng lưu op cụ thể ở độ dài đó chưa? Nếu trước đây, bạn có thể khấu trừ một hoặc hai giây trong số đó khỏi ước tính cho từng thực thể vì đó sẽ là chi phí yêu cầu một lần
BlondeSwan avatar
lá cờ br
tùy thuộc vào những gì bạn cho là "rất nhiều trường", chúng tôi có khoảng 80 trường trên đối tượng người dùng của mình. Tuy nhiên, ở điểm cuối cụ thể này, chúng tôi chỉ cập nhật 5 trong số các trường đó: 2 tham chiếu nhiều giá trị và 3 trường văn bản nhiều giá trị.
BlondeSwan avatar
lá cờ br
Đây chỉ là lưu người dùng. Mất khoảng 3-4 giây để `JSON::decode($request->getContent)` chạy để tôi có thể làm việc với dữ liệu (rất tệ), sau đó
lá cờ cn
Vâng, đó là rất nhiều lĩnh vực, nhưng trên thực tế về lý thuyết thì điều đó không quan trọng (https://drupal.stackexchange.com/a/234475/2800). Lời khuyên tốt nhất mà tôi có thể đưa ra là lập hồ sơ lưu op và tìm hiểu xem thời gian được sử dụng ở đâu - đó có thể không phải là cơ sở dữ liệu, hy vọng sẽ cung cấp cho bạn các chủ đề khác để cải thiện nó, nhưng dù sao thì bạn cũng biết
BlondeSwan avatar
lá cờ br
Bản thân thao tác lưu mất 3-4 giây.
lá cờ cn
Ý tôi là [lập hồ sơ khoa học hơn một chút](https://xdebug.org/docs/profiler), điều đó sẽ cho bạn thấy thời gian thực sự được sử dụng vào đâu. Nếu bạn may mắn, nhà cung cấp dịch vụ lưu trữ của bạn có thể có sẵn thứ gì đó như Di tích mới

Đă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.