revered

Рейтинг
131
Регистрация
03.08.2012

Спасибо за советы!

Попробую сначала сам разобраться с 1С, если не получится, обращусь к специалисту!

1С сейчас стоит.

Но как-то не особо устраивает.

Во первых сложновато для пользователя обычного.

Во вторых функционала некоторого я не нашел + в интеренете информации маловато.

Вот например мне нужно отчеты по чистой прибыли с каждого товара.

Допустим товар продается по 5000 рублей. Его привез поставщик за 4500. Наценка 500 рублей.

И вот как посмотреть в 1С за определенный период сколько чистой прибыли? (а не общая выручка).

Спасибо. Буду изучать!

Dinozavr:
эммм... а зачем вам для списка новостей все комменты? вам же только количество надо! которое хранится в самой новости...
и это очень лёгкий запрос ;)

Выводится новость и под ней последние 5 комментов сразу же, по этому нужно не только количество выбирать, но и сами комменты. А тут ещё получается, что коммент оставил какой-то юзер. И нужно ещё выбрать его фио + аватарку. Как правильно это все реализовать, чтобы запросов было минимум?

LEOnidUKG:
Полностью менять архитектуру БД и запросов. Извините, но это глупость на 1 загрузку 22 запроса.

---------- Добавлено 15.04.2016 в 15:44 ----------



Это отдельные таблицы что-ли?!

А как ещё?

Если нужно проверять ставил ли юзер лайк/дизлайк/репост?

Не ну конечно можно снизить все до 3х запросов:

Выбираем 10 новостей

Потом сразу же делаем выборку комментариев по всем новостям (WHERE `id`="1" OR `id`="2" OR `id`="3" ... )

Потом делаем сразу выборку на лайки/репосты/дизлайки по всем новостям.

Лайки/репосты/дизлайки харнить в 1 табилце.

Будет всего 3 запроса. Зато более тяжелые.

Но я думаю все равно желательно сделать кэширование, чтобы эти 3 запроса были не всгда, а только когда это требуется, верно?

Да, так и работает.

Голосы и комментарии через AJAX добавляются.

Но проблема в том, что если закэшировать блок целеком, то когда он поставить лайк и обновит страницу (F5), то будет ему показано, что лайк не поставлен, т.к. ещё старая версия блока покажется.

Получается единственный выход убирать кэш каждый раз, как ставят лайк/коммент?

На данный момент пиковый онлайн около 200 человек.

Т.е. даже если брать по максимум то около 50 запросов в секунду на лайк/коммент/загрузку контента.

Получается достаточно много запросов.

Сперва идет выборка 10 новостей.

Потом идет по каждой новости выборка комментов + запрос в БД на проверку, ставили ли мы лайк/дизлайк/репост (3 запроса) на эту запись.

Получается за 1 загрузку страницы 22 запроса к базе данных. (42 запроса только на блок новости).

Но там ещё кучу запросов на другие блоки в этой странице. Получается около 100 запросов в том числе и update.

Конечно не очень много, но когда 200 человек онлай, пик получается около 3000-5000 запросов в секунду к БД.

Может и не много. Но посещаемость растет, и через полгода будет около 1000 пиковый онлайн, через год несколько тысяч. (сейчас сайту ещё месяца нет).

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

Спасибо всем за ответы, очень помогли!

Под высокнагруженным проектом я подразумеваю, примерно следующее: (маленькая часть проекта)

30 000 - 50 000 человек онлайн

При этом они все переписываются в "личных сообщениях".

т.е. чуть ли не каждый человек отправляет сообщение раз в несколько секунд и нужно добавлять это сообщение в БД

+ идет ajax проверка каждые 5 секунд на новые сообщения

Таблица (не база, а именно таблица) при этом весит уже несколько десятков или сотен гигов и нужно очень быстро вставлять новые сообщения в базу и делать выборку.

Для чего?

Мне нужно запретить плеер сделать на полный экран. Либо если уже сделали, написать какой-то JS, который бы автоматом возвращал назад, в НЕ развернутое состояние.

Всего: 350