2015-04-06 2 views
0

Я только что развернул свое приложение Meteor на производственный сервер Digital Ocean. Я заметил, что для примерно 7500 документов требуется всего 3-5 секунд для полного извлечения объектов (выборочно беру только 3 поля) и заполнять данные автозаполнения. Я считаю, что для такого количества данных, скорее всего, будет достаточно просто, поэтому мне любопытно, как я могу отлаживать проблемы производительности отсюда и оптимизировать больше. Как мне следует отлаживать проблемы с производительностью для приложения Meteor? Я попытался увидеть вкладку в сети, но ничего больше не занимает больше секунды. Я не уверен, почему требуется 3-5 секунд для панели поиска с функцией автозаполнения, чтобы подготовиться. После тщательной проверки заполнение полей автозаполнения происходит мгновенно, и время до вызова subscribe вызывает обратный вызов функции около 3 to 5 секунд.Как отладить проблему производительности/оптимизировать ваше приложение метеорита

Я уже рассмотрел Kadira, но он сообщил, что все было завершено за миллисекунды, поэтому я смущен.

возможно, связано: Meteor's subscription and sync are slow

В конце концов, через 3-5 секунд для 7800 документов с 2 полями разумно?

+0

Я заглянул в кадиру, но он также сообщил, что все было завершено за миллисекунды, поэтому я смущен. –

+1

Я добавил этот комментарий в вопрос. Хорошая практика - поставить все, что вы пробовали в вопросе. – dayuloli

ответ

1

Позвольте мне рассказать вам, что на самом деле происходит здесь.

Kadira показывает время, необходимое для получения данных с сервера и очереди в сеть. Таким образом, для этого разумно 500 - 700 мс.

Итак, эта задержка в 3-5 мс - это латентность сети. Это означает время, затраченное на отправку данных клиенту через сеть. Это вполне нормально для 7500+ документов даже с тремя полями над DDP.

Итак, мое предложение - сделать поиск на сервере и использовать для этого что-то вроде Search Source.

При этом вы получите только данные, необходимые клиенту. Это уменьшает задержку и экономит процессор вашего приложения.