История изменений
Исправление
vertexua,
(текущая версия)
:
Если веб-приложение тормозит то тут всегда есть ряд факторов
1. Долго закачивается. Решения gzip, SPDY
2. Долго обновляется страница после клика. Решения: Ajax, web-socket, single page applications
3. Много одинаковых ресурсов перезакачивается. Решения: ETag, Last-Modified
4. Тяжелая страница в браузере. Решения: не использование JSF, GWT и прочих ужасов, использования Twitter Bootstrap, AngularJS, KnockoutJS, Backbone.
5. Медленные запросы в базу. Решения: денормализация, профилирования и уход от JOIN, кеширование, асинхронные запросы без подтверждений если можно.
6. Медленное конструирование страниц. Решения: переход к статике, предварительная отрисовка HTML в фоне после пакетной обработки (так делают вские вконтактики в выскоконагружеными пабликами)
7. Медленный ЯП. Это обычно не важно, вы просто слишком много всего делаете в запросе, нужно переделать приложение на подготовку максимально готовых к простому вычитыванию данных.
8. Немасштабируемый сервер. Решения: stateless приложения
9. Немасштабируемая база. Решения: Apache Cassandra, Riak - оптимизация под что угодно. MongoDB - для ленивых и стартапов, оптимизация на чтение.
10. Тормоза из-за периодических обновлений страницы. Решения: server side events, Comet, Web-sockets. Ну и надстройки всякие аля протоколов socket.io
11. Много статики. Решение: оставьте в покое ваш app server. Выложите статику на nginx, S3 или еще какой-то CDN
Исправление
vertexua,
:
Если веб-приложение тормозит то тут всегда есть ряд факторов
1. Долго закачивается. Решения gzip, SPDY
2. Долго обновляется страница после клика. Решения: Ajax, web-socket, single page applications
3. Много одинаковых ресурсов перезакачивается. Решения: ETag, Last-Modified
4. Тяжелая страница в браузере. Решения: не использование JSF, GWT и прочих ужасов, использования Twitter Bootstrap, AngularJS, KnockoutJS, Backbone.
5. Медленные запросы в базу. Решения: денормализация, профилирования и уход от JOIN, кеширование, асинхронные запросы без подтверждений если можно.
6. Медленное конструирование страниц. Решения: переход к статике, предварительная отрисовка HTML в фоне после пакетной обработки (так делают вские вконтактики в выскоконагружеными пабликами)
7. Медленный ЯП. Это обычно не важно, вы просто слишком много всего делаете в запросе, нужно переделать приложение на подготовку максимально готовых к простому вычитыванию данных.
8. Немасштабируемый сервер. Решения: stateless приложения
9. Немасштабируемая база. Решения: Apache Cassdanra, Riak - оптимизация под что угодно. MongoDB - для ленивых и стартапов, оптимизация на чтение.
10. Тормоза из-за периодических обновлений страницы. Решения: server side events, Comet, Web-sockets. Ну и надстройки всякие аля протоколов socket.io
11. Много статики. Решение: оставьте в покое ваш app server. Выложите статику на nginx, S3 или еще какой-то CDN
Исправление
vertexua,
:
Если веб-приложение тормозит то тут всегда есть ряд факторов
1. Долго закачивается. Решения gzip, SPDY
2. Долго обновляется страница после клика. Решения: Ajax, web-socket, single page applications
3. Много одинаковых ресурсов перезакачивается. Решения: ETag, Last-Modified
4. Тяжелая страница в браузере. Решения: не использование JSF, GWT и прочих ужасов, использования Twitter Bootstrap, AngularJS, KnockoutJS, Backbone.
5. Медленные запросы в базу. Решения: денормализация, профилирования и уход от JOIN, кеширование, асинхронные запросы без подтверждений если можно.
6. Медленное конструирование страниц. Решения: переход к статике, предварительная отрисовка HTML в фоне после пакетной обработки (так делают вские вконтактики в выскоконагружеными пабликами)
7. Медленный ЯП. Это обычно не важно, вы просто слишком много всего делаете в запросе, нужно переделать приложение на подготовку максимально готовых к простому вычитыванию данных.
8. Немасштабируемый сервер. Решения: stateless приложения
9. Немасштабируемая база. Решения: Apache Cassdanra, Riak - оптимизация под что угодно. MongoDB - для ленивых и стартапов, оптимизация на чтение.
10. Тормоза из-за периодических обновлений страницы. Решения: server side events, Comet, Web-sockets. Ну и надстройки всякие аля протоколов socket.io
Исходная версия
vertexua,
:
Если веб-приложение тормозит то тут всегда есть ряд факторов
1. Долго закачивается. Решения gzip, SPDY
2. Долго обновляется страница после клика. Решения: Ajax, web-socket, single page applications
3. Много одинаковых ресурсов перезакачивается. Решения: ETag, Last-Modified
4. Тяжелая страница в браузере. Решения: не использование JSF, GWT и прочих ужасов, использования Twitter Bootstrap, AngularJS, KnockoutJS, Backbone.
5. Медленные запросы в базу. Решения: денормализация, профилирования и уход от JOIN, кеширование, отложенную базу.
6. Медленное конструирование страниц. Решения: переход к статике, предварительная отрисовка HTML в фоне после пакетной обработки (так делают вские вконтактики в выскоконагружеными пабликами)
7. Медленный ЯП. Это обычно не важно, вы просто слишком много всего делаете в запросе, нужно переделать приложение на подготовку максимально готовых к простому вычитыванию данных.
8. Немасштабируемый сервер. Решения: stateless приложения
9. Немасштабируемая база. Решения: Apache Cassdanra, Riak - оптимизация под что угодно. MongoDB - для ленивых и стартапов, оптимизация на чтение.
10. Тормоза из-за периодических обновлений страницы. Решения: server side events, Comet, Web-sockets. Ну и надстройки всякие аля протоколов socket.io