2013-04-04 6 views
0

Я работаю над проектом MVC, где я использую jqGrid for ASP.NET MVC. Однако мне говорят, что pure-jquery-client-side version (jqGrid) лучше по производительности. Это правда? Для меня они оба, похоже, делают одни и те же вещи, только что код находится в разных местах - вся основная работа по-прежнему выполняется с помощью ajax. любой совет будет оценен.Производительность Разница между клиентской стороной jqgrid и стороне сервера jqGrid

EDIT- В большинстве мест я использую сетку менее 100 строк, размер страницы 30, около 10-12 столбцов, в основном строки и даты. Только на одной странице я использую сетку с 500 строками, но она будет использоваться редко.

+0

Не могли бы вы добавить дополнительную информацию о проекте, в котором вы используете jqGrid? Сколько строк имеет набор данных, который вы показываете в сетке (100, 10000, 1000000)? Насколько велика величина страницы, отображаемая на стороне клиента по умолчанию. Сколько столбцов находится в сетке? (большое количество столбцов делает сетку более медленным, так как большое количество строк) ... – Oleg

+0

Добавлено редактирование - большинство мест, в которых я использую сетку, имеет менее 100 строк, размер страницы 30, около 10-12 столбцов, в основном строки и даты. Только на одной странице я использую сетку с 500 строками, но она будет использоваться редко. – superartsy

+0

Мне было бы приятно увидеть некоторые комментарии к моему ответу, которые я написал больше, как неделю назад. – Oleg

ответ

0

Я не думаю, что вы должны переписать свой существующий код, но я могу согласиться с тем, что в случае использования менее 1000 строк данных использование loadonce: true является реальной альтернативой.

Дизайн jqGrid ориентирован на сортировку, поиск и фильтрацию на стороне сервера. Поэтому большинство пользователей, которые начинают использовать jqGrid в версии менее 3,7, уже имеют хорошую реализацию бэкэнд. SQL Server с собственным кодом должен быть уверен быстрее, поскольку код JavaScript был первоначально разработан как язык интерпретатора. С другой стороны, текущие версии веб-браузеров содержат быстрый JavaScript-движок. Каждая новая версия повышает производительность JavaScript.

Может быть важным для пользователя общее время операции сортировки, сортировки или фильтрации. Он включает время в оба конца веб-сервера. Лучше сделать точную меру в производственной среде, чтобы сравнить производительность локальных сеток с сетками с чистым удаленным datatype («json» или «xml» без использования loadonce). Грубое правило, которое я сам использую это:

  • , если число строк в некоторых 1000 строк, которые я использую loadonce: true и так на стороне клиента пейджинга, сортировки и фильтрации данных
  • , если общее количество строк больше, как 10000 Я использую всегда поисковую страницу, сортировку и фильтрацию на стороне сервера

Ваше окружение (сеть, время в оба конца до сервера и т. Д.) Может быть другим. Таким образом, край, когда вам следует лучше хранить данные на стороне пользователя, а также на стороне сервера, может быть другим. Тем не менее использование loadonce: true может быть действительно очень эффективным в практике.

Я лично не использую коммерческую версию jqGrid, на которую вы ссылались. Поэтому я должен сам написать бэкэнд. В случае использования loadonce: true код сервера очень прост. Его легко отлаживать и поддерживать.

Смежные вопросы