ускорение яшмы - PullRequest
       7

ускорение яшмы

3 голосов
/ 20 июля 2010

Я только что профилировал свое приложение для отчетов, когда пытался создать четыре раза один и тот же отчет подряд. первый занял 1859 мс, а последующие - от 400 до 600 мс. чем это объясняется? Могу ли я как-то использовать его, чтобы сделать мое приложение быстрее? модуль отчетов работает на сервере и ожидает, когда пользователь нажмет «печать отчета» ..

1 Ответ

3 голосов
/ 20 июля 2010

Последующие запуски отчета расширили память и заполнили различные кэши.

Никогда не видя ваше приложение, я думаю, что самым большим эффектом будет то, что ваш сервер базы данных кэширует данные, к которым вы запрашиваете.Он загружает данные с диска и в память, и, не имея ничего общего с этой памятью, оставляет его там.В следующий раз, когда появится запрос, базе данных не нужно идти на диск для данных, она все еще находится в памяти.

Очевидный и самый простой способ использовать это - выполнить один «поддельный» запрос передваши пользователи будут освобождены в системе;это означало бы, что вы поглощаете ожидание 1800 мс, а ваши пользователи получают сладкое 400. К сожалению, это будет работать только в том случае, если все запросы одинаковы, т.е. если все запрашивают один и тот же отчет.Если существуют разные отчеты и разные данные, кэши будут очищены для разных данных, и загрузка новых результатов займет больше времени.

Короче говоря: если у вас всегда был один и тот же запрос, вы могли бы дать действительнобыстрые ответы, но тогда вы бы никогда не представили ничего нового.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...