Как стать автором
Обновить
19
0
Андрей Куприков @Andrey_Kuprikov

Пользователь

Отправить сообщение
Вчера вечером мы изменили систему инвайтов, авторизации и создания аккаунта. У администрации инвайтов больше нет, ищите инвайты у пользователей Tracks Flow.
Ого, спасибо — сейчас исправим.
С процедурами работать не очень удобно. Например при изменении списка параметров надо:
1. Поменять код процедуры в Managment Studio
2. Обновить Entity Data Model
3. Внести соответствующие правки в код.

Запросы править прямо в коде проще. Да и вообще мы стараемся делать только то, что действительно необходимо.
Еще есть очевидный плюс в деплое — структура БД при нашем подходе меняется мало и не надо отслеживать изменения в БД. В случае с процедурами надо учитывать все правки и перенакатывать их на боевую СУБД в момент выкладки сайта.
А какая разница — все равно все в конечном итоге выполняется на СУБД. Производительность попутных операций парсинга и преобразования в объекты не столь существенна.
Вообще, если говорить о производительности, то всегда стоит обращать внимание на время выполнения разовых запросов (скорость работы сайта без нагрузки) — мы за этим стараемся следить. Если частота запросов растет и это начинает сказываться на скорости работы, то используем кеш.
В целом мы стараемся писать очень простые запросы. Стараемся писать на LINQ to Entities. Есть пара сложных запросов с джойнами на Entity SQL — на нем получается понятнее. Совсем сложные запросы выносим в хранимки.
Запросы отлаживаем в Managmant Studio предварительно получив текст запроса в VS.
Спасибо, сейчас поправим
Ну это как-то непатриотично что-ли :)
Домен был взят еще до этого. Просто совпало )
Точно уже не скажу — не первый проект с этим фреймворком. Возможно отсюда брали идеи.
Суть в том, что мы не просто ищем вконтакте, мы еще добавляем свои семантические проверки. Возможна такая ситуация, что в контакте треки нашлись, но мы считаем, что это не совсем то, что хотел пользователь. В целом тут есть над чем поработать — будем совершенствовать.
А че тут писать — mvc, backbone. Фронтэнд — нгинкс, бэкенд — nodejs для парсинга API сторонних сервисов типа last.fm; бэкенд пользовательской логики на .NET mvc 4. REST.
Что из этого интересно?
Сожмем ) Это же альфа )
И странная тема с 80 млн объектов в S3. Получается что средний размер объекта более 5 МБ. Это уже mp3 файлы а не картинки)
410ТБ — это 9-10 полок по 24 диска по 2ТБ. Получить 200 rps с диска не сложно, а вот в системе хранения размером со стойку средняя эффективность диска резко падает с ростом объемов.
Надо еще учесть что на странице не одна картинка, а около 100. Поэтому rps картинок должен быть порядка 860krps.
Но это все решаемо и за гораздо меньшие деньги. просто нужно нанять пару умных парней )
Отсюда и малочисленность сотрудников, которая покрывается сверхзатратами на сервисы Amazon.
Я понимаю, что это удобно, гибко и модно. Но тут не чем гордится. Это все равно что сказать, что ты хороший рыбак — купил огромную рыбу в магазине сам, в одиночку и даже без удочки )
Получается, что сервис по сути неэффективен по затратам. Как минимум система хранения. Они платят 1,2 млн руб./мес за систему хранения. У нас система хранения на 120ТБ умещается в 12 юнитов и стоит(!) порядка тех же 1,2 млн руб. Соответственно система хранения на 410 ТБ будет стоить 4,1 млн руб. Аренда стойки — пусть 100 т.р. Окупаемость 4 месяца…

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность