powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как правильно реализовать высоконагруженное веб-приложение?
38 сообщений из 38, показаны все 2 страниц
Как правильно реализовать высоконагруженное веб-приложение?
    #37705193
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В базе данных MS SqlServer есть таблица с товарами и таблица с ценами и количеством к этим товарам. В первой таблице ~ 200 тыс. записей, во второй в 3 раза больше (цен на один товар может быть несколько). Обе таблицы постоянно обновляются (но в основном цены и количество).

Задача - выводить товары всегда с актуальными ценами и количеством.

Варианты

1. Писать товары в кеш и обновлять с помощью SqlDependency только те, что изменились. Зависимость изменений кеша устанавливать на каждый товар. При изменении товара, цены или количества писать ModifiedDate и на это поле 'вешать' SqlDependency. С чем столкнулись: при старте приложения или обновления кеша создается большое количество локов, так как в запросе SqlDependency нельзя использовать NOLOCK, а SqlDependency приходится добавлять на каждый из 200 тыс. товаров.

2. Писать товары в кеш и обновлять с помощью SqlDependency весь кеш. Зависимость изменений кеша устанавливать на любое изменение товара, цен, количества. Минусы - при любом изменени приходится перечитывать весь товарный кеш. Если изменений много, то это т процесс будет длится постоянно.

3. Отказаться от кеша и читать напрямую из базы. По тестам такой вариант сильной тормозит, так пользователей ~ 1000 одновременно. Запрос - обычный Select Good From Goods (NOLOCK) WHERE GoodId=@GoodId. Цены и количество читаются вторым сетом. Тоже обычный Select

Какие варианты еще можно использовать? Или может оптимизировать те, которые я указал?

И еще один вопрос в догонку. Так как таблица с ценами и количестов постоянно обновляется и перезаписывается возникает проблема с локами. Как правильно организовать схему обновления - чтения данных, чтобы минимизировать локи?

Может у кого есть ссылка на пример организации высоконагруженных приложений похожий на ту, что я описал?

Заранее всем спасибо.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705253
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. SqlDependency вроде бы дает факт, что в таблице есть изменения, смысл вешать на каждую запись?

Если вешать на каждую из 200 тыщ записей, то надо представлять как это работает, брокерские очереди и пр. сервер загнется...
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705254
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelop,

Тысяча пользователей, которые одновременно исполняют этот запрос? Не смешите людей. У Вас, скорее всего, вообще и тысячи посетителей не наберётся.
Впрочем, отвечу. У меня к таблице с миллионом записей и не меньше десятка приджойненых таблиц запрпос (одновременно 1024 запросов) выполняется меньше, чем за секунду. И это - не суперкомпьютер. Тестировал на своём собственном, самом обыкновенном.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705300
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Winnipuh1. SqlDependency вроде бы дает факт, что в таблице есть изменения, смысл вешать на каждую запись?
В этом случае придется обновлять кеш на все товары, а хотелось бы только на тот товар, который изменился.

ShSergeТысяча пользователей, которые одновременно исполняют этот запрос? Не смешите людей.
Откуда такой скепсис?

Сайт - это интернет магазин. Все страницы сайта - это страницы с товаром. Каждый пользователь на сайте смотрит либо карточку товара либо каталог с товарами. Соответственно, если посетителей в данный момент несколько тысяч, то запрос выполняется ~ 1000 раз.

ShSergeУ меня к таблице с миллионом записей и не меньше десятка приджойненых таблиц запрпос выполняется меньше, чем за секунду.

Запрос выполняется тоже меншье чем за секунду, но связка mssql - mvc дает дополнительное время.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705312
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelopВ первой таблице ~ 200 тыс. записей, во второй в 3 раза больше (цен на один товар может быть несколько). Обе таблицы постоянно обновляются (но в основном цены и количество).
Объем реально небольшой. Даже маленький, сказал бы. Вот самый минимум требований:
1. Никаких кешей товаров и цен и пересинхронизаций (сиквел зависимости, по таймеру и иже). Только прямые запросы по факту.
2. Смотрите в сторону оптимизации запросов.
3. Пересмотрите планы выполнения основных запросов.
4. Добавьте индексы, в т.ч. реально мощные INCLUDE-индексы. Тут важно учитывать самые частые запросы.
Например, вот индекс по двум полям с инклюдом третьего поля:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE NONCLUSTERED INDEX [IX_MyTable] ON [dbo].[MyTable] 
(
	[Inn] ASC,
	[Kpp] ASC
)
INCLUDE (StatusCode)
WITH (...) ON [PRIMARY]
GO


5. Еще раз - индексам уделите самое пристальное внимание .
6. Пересмотрите UI и то, как Вы выдаете результаты (пейджинги, фильтры, сложные вычисления средствами сервера приложений, и т.д.). Например, если рассматривать пейджинг грида, не нужно делать второй Count-запрос, это слишком трудозатратно. Достаточно иметь в пейджере текущий индекс и кнопку "Далее".
7. Максимально упростите UI, выкиньте сложные фильтры. Тянуть с SQL сервера данные только те, которые действительно нужны.
8. Анализировать локи, если имеются. Корень зла - тот самый пагубный неоптимальный запрос без индексов.
9. Если бы данных действительно было бы много, без ETL пересчетов не обойтись. Но, это не Ваш случай, уверен. Скорее всего зло кроется в плохо спроектированном UI, в неоптмимальных запросах и в отсутствии индексов.

ShSergerudevelop, Тысяча пользователей, которые одновременно исполняют этот запрос? Не смешите людей. Вас, скорее всего, вообще и тысячи посетителей не наберётся.
Откуда такая уверенность?
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705357
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelopВ базе данных MS SqlServer есть таблица с товарами и таблица с ценами и количеством к этим товарам. В первой таблице ~ 200 тыс. записей, во второй в 3 раза больше (цен на один товар может быть несколько). Обе таблицы постоянно обновляются (но в основном цены и количество).
...
3. Отказаться от кеша и читать напрямую из базы. По тестам такой вариант сильной тормозит, так пользователей ~ 1000 одновременно. Запрос - обычный Select Good From Goods (NOLOCK) WHERE GoodId=@GoodId. Цены и количество читаются вторым сетом. Тоже обычный Select



Данных не много
При наличии индекса подобный запрос вообще на лету должен отдавать данные
Как и советовали - думайте в сторону оптимизации запросов, проводите профайлинг, стройте индексы под запросы
Кешировать то что ~"постоянно обновляется" не вижу особого смысла

Также немного оффтоповый вопрос - зачем количество обновлять каждый раз?
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705364
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SanSYS Также немного оффтоповый вопрос - зачем количество обновлять каждый раз?

Сайт - это интернет магазин. Товар продается, количество меняется. Обновлять нужно, чтобы купить товар можно было не более чем N штук.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705369
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ...Откуда такая уверенность?
Обычное дело.
Меня, в своё время, интересовал вопрос про сканирование акцизных марок на алкогольную продукцию. Позже тема закрылась. Ну и представь себе, что все покупатели одновременно просканировали свои марки. Ерунда! Даже на обыкновенном компьютере прокатит. Я уже не говорю про супер-пупер-навороченный сервер.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705381
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelopSanSYS Также немного оффтоповый вопрос - зачем количество обновлять каждый раз?

Сайт - это интернет магазин. Товар продается, количество меняется. Обновлять нужно, чтобы купить товар можно было не более чем N штук.
Хм.. так ли это нужно? Может кол-во стоит всегда "подсчитывать"? Если подсчет окажется быстрее обновления, то получится минус одна первопричина предположительных тормозов ("постоянно обновляются ... в основном цены и количество")
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705393
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И кстати, цены обновлять не совсем правильно
Нужно, если можно выразиться, вести прям лог цен, где последняя по дате цена будет актуальной, имхо
А то получится - придет манагер, скажет, что была продажа моника за $500, а он стоит $510, придется лезть в бекапы, чтобы сверится
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705397
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelopSanSYS Также немного оффтоповый вопрос - зачем количество обновлять каждый раз?
Сайт - это интернет магазин. Товар продается, количество меняется. Обновлять нужно, чтобы купить товар можно было не более чем N штук.
Не вижу никаких преткновений найти цену товара из референсной таблички ( по индексированному полю GoodId ) и произвести изменение. Откуда тут тормоза и, тем более, блокировки?

ShSergeМеня, в своё время, интересовал вопрос про сканирование ...
Не уходите от вопроса.

ShSergeМСУ...Откуда такая уверенность?
Обычное дело.
"Аргумент" не засчитывается.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705409
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSИ кстати, цены обновлять не совсем правильно
Нужно, если можно выразиться, вести прям лог цен, где последняя по дате цена будет актуальной, имхо
А то получится - придет манагер, скажет, что была продажа моника за $500, а он стоит $510, придется лезть в бекапы, чтобы сверится
Чушь не мелите. Как это цены обновлять не правильно? Присядьте, сегодня двойка.
Цены - обычная референсная сущность товаров. Всегда можно поднять любую цену за конкретную дату + кто оценивал, как оценивал, какие скидки были на тот момент, и пр. У автора всё правильно сделано. Продажа и Покупка - вообще отдельные сущности (сущность, в разрезе типа операции).
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705586
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЦены - обычная референсная сущность товаров. Всегда можно поднять любую цену за конкретную дату + кто оценивал, как оценивал, какие скидки были на тот момент, и пр.
Именно так все и верно, я имел ввиду, если непосредственно в таблице товаров есть поле цена хранящее значение (а не ссылку), то ее обновлять неверно, не боле
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705601
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цена товара переносится в заказ в момент его оформления (смотрим Order Details). Дальше цена обновляется при необходимости (смотрим Order Details). Как-бы классика жанра (смотрим Northwind database).
SanSYSМСУЦены - обычная референсная сущность товаров. Всегда можно поднять любую цену за конкретную дату + кто оценивал, как оценивал, какие скидки были на тот момент, и пр.
Именно так все и верно, я имел ввиду, если непосредственно в таблице товаров есть поле цена хранящее значение (а не ссылку), то ее обновлять неверно, не боле
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705604
Gulag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оптимизация запросов
Кеш неизменяемых частоиспользуемых данных
Декомпозиция сущностей БД (в частности про цены), при чем ничего не удалять/обновлять, т.к. речь идет о финансах
Рекомендую ASP.NET MVC оптимизация & mssql оптимизация производительности т.к. тема избита и на форумах конкретных решений не получишь, т.к. к каждой систему подход уникален
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705606
Gulag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Relic HunterЦена товара переносится в заказ в момент его оформления (смотрим Order Details). Дальше цена обновляется при необходимости (смотрим Order Details). Как-бы классика жанра (смотрим Northwind database).
SanSYSпропущено...

Именно так все и верно, я имел ввиду, если непосредственно в таблице товаров есть поле цена хранящее значение (а не ссылку), то ее обновлять неверно, не боле
Не совсем верно, в Order Details нужно также хранить ссылку на цену, как писали выше в отношении товаров
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705609
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSИменно так все и верно, я имел ввиду, если непосредственно в таблице товаров есть поле цена хранящее значение (а не ссылку), то ее обновлять неверно, не боле
Можно и так, но тогда цены нужно протаскивать по всем документам, что не есть гуд. И не понятно будет, почему за одну и ту же дату/время одному клиенту отпустили товар по одной цене, другому - по другой (нужно будет и кучу признаков протаскивать). А дело всё было в скидках, к примеру. Либо в определенной ценовой политике (например, некоторые магазины имеют n-уровневую систему цен, например, в том же юлмарте (не примите за рекламу) 3 цены у товара - справа вверху). Стандартная практика.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705616
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterЦена товара переносится в заказ в момент его оформления
Для прозрачной торговли и самых простых интернет магазинов - прокатит. Для более сложного ценообразования и постоянной динамикой - увы.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705617
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GulagНе совсем верно, в Order Details нужно также хранить ссылку на цену, как писали выше в отношении товаровOrder Details содержит ссылку на продукт ProductID и цену, по которой он был отгружен. Сама цена Procuts->UnitPrice может менятся. Поэтому приходится денормализовывать. Классика. Order Details - это финальный документ, который не может быть изменен через ссылку на значение ни при каких условиях.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705622
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter, о какой "классике" Вы говорите? :) Это простейшая учебная база данных и никакого отношения с жизненными реалиями она не имеет. Тем более Northwind, которая является очень устаревшей, которая шла еще в поставке с 2000 скулем.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705626
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЭто простейшая учебная база данных и никакого отношения с жизненными реалиями она не имеет.Почему не имеющая? Вы думаете на заправке хранят все цены на бензин, которые могут менятся сто раз в день? Кому это надо?
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705635
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterПочему не имеющая? Вы думаете на заправке хранят все цены на бензин, которые могут менятся сто раз в день? Кому это надо?
1. Да, представьте себе - цены на топливо / акции меняются чаще всего остального. В точку.
2. Когда я выше приводил примеры с n-уровневым ценообразованием, скидками, бонусами и т.д. - я со стенкой дискутировал?
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705638
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterКому это надо?
Бизнесу. Аналитики составляют красивые графики, правительство мониторит динамику, оппозиция ругает правительство за такую динамику. Ух, кипит целая жизнь с этими ценами :)

Вы можете дернуть сервис http://www.cbr.ru/dailyinfowebserv/dailyinfo.asmx за любую древнюю дату и удивиться, даже курсы валют хранят длительное время.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705642
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter, большие дяди в большом бизнесе больше всего любят красивыве графики с умными цифрами, финансовые отчеты за периоды. Как будете строить статистику в разрезе цен, по сотням миллионов отпущенных накладных? Проще убить себя из револьвера
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705672
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУRelic HunterКому это надо?
Бизнесу. Аналитики составляют красивые графики, правительство мониторит динамику, оппозиция ругает правительство за такую динамику. Ух, кипит целая жизнь с этими ценами :)

Вы можете дернуть сервис http://www.cbr.ru/dailyinfowebserv/dailyinfo.asmx за любую древнюю дату и удивиться, даже курсы валют хранят длительное время.Вот, начинаем приходить к минимальному пониманию)) Интернет-магазину оно нафик не сдалось. А для аналитики грузите ежедневные снимки в DWH. Будут им и графики и диаграммы Гауса. Просто не нужно смешивать (большинство так и делает) OLTP и DWH в одном флаконе и наделять магазин не свойственными ему функциями. От этого страдает и OLTP и DWH в конечном итоге. Нет?
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705686
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Если-бы было по-вашему, вся-бы онлайн-торговля загнулась под тяжестью своих-же данных. И люди-бы состарились в очередях. Там, где нужня скорость обработки заказа - никаких лишних данных. Кому (покупателю) интересна цена товара, которая была час назад? То время ушло. А аналитик может и подождать и час и два, пока там кубы обрабатываются.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705693
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterИнтернет-магазину оно нафик не сдалось.
Интернет магазину - возможно, а владельцу крупного магазина не помешает. Почему Вы считаете, что статистика в любом ее проявлении - зло?
Relic HunterА для аналитики грузите ежедневные снимки в DWH. Будут им и графики и диаграммы Гауса.
Более того, потребуются кубы - перельем через ETL. Речь о том, что анализироваться будут различного вида документы с различной логикой ценообразования в Вашем случае. Это накладно и трудно поддерживаемо. Я же предлагаю отвязать логику ценообразования, скидок, бонусов и иже об различного вида операций (бизнес-документов - накладных, счетов, проводок, ...). Анализировать и поддерживать такое хозяйство намного проще, быстрее и надежнее. Все в одном месте.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705698
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterМСУ,

Если-бы было по-вашему, вся-бы онлайн-торговля загнулась под тяжестью своих-же данных. И люди-бы состарились в очередях. Там, где нужня скорость обработки заказа - никаких лишних данных. Кому (покупателю) интересна цена товара, которая была час назад? То время ушло. А аналитик может и подождать и час и два, пока там кубы обрабатываются.
Тут дело не только в том, какая цена была вчера, я говорю вообще про орагнизацию хранилища для подобного бизнеса (это не только интернет магазины). Речь о том, что схема с отвязанными ценами - легко расширяема.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705709
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУя говорю вообще про орагнизацию хранилища для подобного бизнеса (это не только интернет магазины). Речь о том, что схема с отвязанными ценами - легко расширяема.Главное - продать товар и с максимальной скоростью. Анализировать будем потом, если будет "что". А забивать/замедлять онлайн-процессинг аналитикой это - самим себе ставить палки в колеса.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705737
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterГлавное - продать товар и с максимальной скоростью. Анализировать будем потом, если будет "что". А забивать/замедлять онлайн-процессинг аналитикой это - самим себе ставить палки в колеса.
Еще раз, я говорю не только об аналитике. Речь о гибком инструменте манипулирования ценами, скидками, бонусами в разрезе оперируемых товаров. Прикрутить то или иное правило - без проблем. На общий процессинг подобная универсальная схема сильно не повлияет. Аналитика - дело вторичное.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705828
Gerros
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelop,

Сделайте отложенное обновление количества и цены на сервере.
При изменении цены это изменение кэшируется на веб-сервере. Раз в минуту веб сервер отправляет на сервер БД один апдейт сразу по всем изменившимся ценам.

Текущее количество каждого товара - тоже одним апдейтом раз в 10 минут. Джобом на сервере БД, например.

А при добавлении товара в корзину - пересчёт текущего количества по конкретному товару на лету.

Вместо непрерывного потока апдейтов будет один-два апдейта в минуту. Нагрузка на БД упадёт и сможете спокойно читать напрямую из неё безо всяких клиентских кэшей.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37705975
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GerrosСделайте отложенное обновление количества и цены на сервере.
Зачем?

GerrosПри изменении цены это изменение кэшируется на веб-сервере.
Зачем тут вообще кеш? У нас есть полноценная СУБД, с индексами и прочими плюшками. Нужно просто научится правильно работать с БД.

GerrosРаз в минуту веб сервер отправляет на сервер БД один апдейт сразу по всем изменившимся ценам.
Ужос...

GerrosТекущее количество каждого товара - тоже одним апдейтом раз в 10 минут. Джобом на сервере БД, например.
Ужос в квадрате...

GerrosА при добавлении товара в корзину - пересчёт текущего количества по конкретному товару на лету.
Зачем? Добавление товара в корзину ровным счетом ничего не означает. Следовательно и пересчеты никакие не нужны. Пересчет товара на складе - после фактической оплаты. Причем пересчет не отложенный, а по факту.

GerrosВместо непрерывного потока апдейтов будет один-два апдейта в минуту. Нагрузка на БД упадёт и сможете спокойно читать напрямую из неё безо всяких клиентских кэшей.
Нужно автору с индексами сначала разобраться.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37706029
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Здесь я с Вами соглашусь. Только я бы посоветовал не с индексами разбираться, а более общо - с SQL. Или нанять за хорошие денюжки бизайнера баз данных.
ПС. Грамотный SQL-щик получает несколько больше денег, чем аспнетчик или дотнетчик.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37706117
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем кто принимал участие в дискуссии.

Будем смотреть в сторону индексов и оптимизации UI.

[Оффтоп]
Только мне одному кажется, что ShSerge ведет себя презрительно-свысока по отношению к другим участникам?
[/Оффтоп]
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37706130
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelop,

На работе тяжёлая полоса пошла. Так что, пардон, если чё.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37706136
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelop,

на оффтопВы в Армии служили? :) Если да, то должны знать: "дедушки", они не злые - они справедливые ... :)

понравилосьМне очень (кроме шуток!) понравилось слово бизайнер. Я даже пошел дальше: бизайнер даз банных!
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37706161
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelopБудем смотреть в сторону индексов и оптимизации UI.
Только так и никак иначе.
ShSergeнанять за хорошие денюжки бизайнера баз данных
Всё верно, тюнинг хранилища не помешал бы.
...
Рейтинг: 0 / 0
Как правильно реализовать высоконагруженное веб-приложение?
    #37706741
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наткнулся на хорошую ссылку по теме Архитектура высоконагруженных систем
Может кому-нибудь будет интересно.
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как правильно реализовать высоконагруженное веб-приложение?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]