Помогите спроектировать приложение

stinol

Новичок
Помогите спроектировать приложение

Здравствуйте!

Помогите спроектировать приложение: сервис активной рекламы (САР).
Суть приложения:
1. Рекламодатели создают ссылки для просмотра и платят за это деньги.
2. Пользователи просматривают эти ссылки и получают за это деньги.

У рекламодателя в ссылках есть ряд ограничений по географии посетителей, по времени посещения(от ограничений в сутки до ограничений в час) и др. Разные типы страниц. Какие-то показываются только один раз в сутки одному пользователю какие-то больше.

Пользователей много. Постоянно выполняется большой запрос на определения какой сайт сейчас отобразить текущему пользователю.
Так же много вставок в БД с платежами.
Сейчас все работает на 2xXeon Quad Core 2.5 GHz (E5420), 4Gb FBDimm RAM, 2x72gb HDD SAS и сильно тормозит.
Всего просмотров страниц в сутки 200-300 тысяч.
По статистике MySQL запросов в секунду 260

Полагаю что архитектура приложения не верная.
Помогите спроектировать данное приложение так, что бы оно было расширяемо, что бы "просто быстро работало" :)
 

Beavis

Banned
Re: Помогите спроектировать приложение

Автор оригинала: stinol
Полагаю что архитектура приложения не верная.
ну если вы хотите обсудить архитектуру, может расскажете что она из себя представляет?
 

HEm

Сетевой бобер
Это надо писать в раздел "работа", с указанием з/п и желательно, ТЗ
 

Beavis

Banned
HEm
Он не просит спроектировать за него, а просит только помочь.
Т.е. как я понимаю, щас он выложит текущую архитектуру, и спросит советов что в ней можно улучшить
 

HraKK

Мудак
Команда форума
Мда нагрузок то нет ничего, а ложиться.
 

stinol

Новичок
Сейчас архитектура такая:
каждая ссылка рекламодателя хранится в отдельной таблице со своими настройками + еще несколько таблиц с настройками по времени посещения и по географии.

каждое посещение пользователя хранится в нескольких таблицах:
общий лог посещения,
данные по часам,
данные по ip,
данные по дню,
данные по пользователю,
данные по типу ссылки
данные по географии посетителя

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

Марат

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

HraKK

Мудак
Команда форума
Для начала наймите нормального программиста который произведет аудит и найдет где у вас узкое горлышко. А потом наймите его или других нормальных людей которые Вам и спроектируют с учетом исправления текущих ошибок.

А то тут будет гадание на кофейной гуще и тонны крайне полезных советов.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
stinol
это проблема очень многих сайтов, при создании которых экономили или не уделяли внимания уровню разработчиков

когда проект внезапно становится популярным, оказывается, что развитие невыгодно, а работа в текущем режиме - невозможна (сбои портят имидж и клиенты уходят)
и все, ресурс умирает
 

stinol

Новичок
Марат
Я ошибся.
все ссылки рекламодателей хранятся в одной таблице

HraKK
Ясно, так и сделаю
 
Сверху