Система поиска и букинга артистов
Система поиска и букинга артистов
Собственно представляю свой проект, Art-Booking
Система для поиска и букинга (заказа) артистов, музыкантов, оборудования, и т. д.
http://art-booking.org
Большое внимание уделено оптимизации: (практически никакого AR, только DAO+SQL), по возможности не используются тяжелые компоненты во вьюхах.
Система для поиска и букинга (заказа) артистов, музыкантов, оборудования, и т. д.
http://art-booking.org
Большое внимание уделено оптимизации: (практически никакого AR, только DAO+SQL), по возможности не используются тяжелые компоненты во вьюхах.
Re: Система поиска и букинга артистов
А поиск реализован через php?
Re: Система поиска и букинга артистов
Ну да + SQL.Халявщик писал(а):А поиск реализован через php?
Re: Система поиска и букинга артистов
Интересно. Тогда получается, что соединение идет через AJAX, так как с Comet'ом PHP вроде как не умеет работать.ab_dev писал(а):Ну да + SQL.
А что если будет к примеру 1200 звукорежиссеров? Поиск будет таким же быстрым? Или придется что-то менять?
Re: Система поиска и букинга артистов
WAT?Халявщик писал(а):соединение идет через AJAX, так как с Comet'ом PHP вроде как не умеет работать
ab_dev, в строке поиска необходимо дождаться пока пользователь введет весь запрос целиком, а не слать запрос на нажатие каждой клавиши.
Re: Система поиска и букинга артистов
Индексы в бд + на всякий случай горизонтальное масштабирование сервера по метрикам загрузки. Из 2.5млн населенных пунктов текстовый LIKE поиск осуществляется за 20-30мсек.Халявщик писал(а):Интересно. Тогда получается, что соединение идет через AJAX, так как с Comet'ом PHP вроде как не умеет работать.ab_dev писал(а):Ну да + SQL.
А что если будет к примеру 1200 звукорежиссеров? Поиск будет таким же быстрым? Или придется что-то менять?
Запросы более 100 мс логгируются.
Уже начал писать бэкенд на go, который будет более масштабируемым и гибким.
Стоит таймаут ввода, который динамически изменяется в зависимости от загруженности системы.SiZE писал(а): ab_dev, в строке поиска необходимо дождаться пока пользователь введет весь запрос целиком, а не слать запрос на нажатие каждой клавиши.
Re: Система поиска и букинга артистов
Я ради интереса брякнул по клаве и на каждый ввод символа у меня ушел запрос. Ты думай не только об оптимизации своего сервера, но и о том, что ты клиента трафиком нагружаешь.ab_dev писал(а):Стоит таймаут ввода, который динамически изменяется в зависимости от загруженности системы.
Re: Система поиска и букинга артистов
Live поиск сейчас в трендах. Минимальная задержка после ввода - 200мс.SiZE писал(а):Я ради интереса брякнул по клаве и на каждый ввод символа у меня ушел запрос. Ты думай не только об оптимизации своего сервера, но и о том, что ты клиента трафиком нагружаешь.ab_dev писал(а):Стоит таймаут ввода, который динамически изменяется в зависимости от загруженности системы.
Re: Система поиска и букинга артистов
Ну так не через AJAX же.ab_dev писал(а):Live поиск сейчас в трендах.
Re: Система поиска и букинга артистов
а через что?
Re: Система поиска и букинга артистов
На ajax'е свет клином сошелся что ли ?
Есть и другие технологии. Например, сокеты.
Есть и другие технологии. Например, сокеты.
Re: Система поиска и букинга артистов
чем они лучше в данном случае?
Re: Система поиска и букинга артистов
Более высокая скорость работы, меньший траффик
Re: Система поиска и букинга артистов
А зачем, если проще кешируемую вьюху аяксом подгрузить?Халявщик писал(а):На ajax'е свет клином сошелся что ли ?
Есть и другие технологии. Например, сокеты.
Основная доля трафика - изображения тянущиеся из S3.Халявщик писал(а):Более высокая скорость работы, меньший траффик
Re: Система поиска и букинга артистов
так аяксом можно только json гонять, разница в траффике будет мизерная, а работать с сокетами из php - очень сомнительное удовольствие
Re: Система поиска и букинга артистов
Каждому свое)ab_dev писал(а):А зачем, если проще кешируемую вьюху аяксом подгрузить?
По-моему живой поиск и php - вещи несовместимые. Это незаметно сейчас, когда на сайте мало посетителей, а когда их станет много - тогда и всплывет проблема скорости. А насчет траффика - если суммировать все полученные и отправленные HTTP заголовки при печатании какой-нибудь абракадабры, то разница не покажется мизерной по сравнению с постоянным соединением.anton44eg писал(а):так аяксом можно только json гонять, разница в траффике будет мизерная, а работать с сокетами из php - очень сомнительное удовольствие
Re: Система поиска и букинга артистов
Вот поэтому бэкенд переписываем на Go. На первых этапах это можно решить горизонтальным масштабированием (увеличением ресурсов сервера и добавлением хостов через балансировщик)Халявщик писал(а): По-моему живой поиск и php - вещи несовместимые. Это незаметно сейчас, когда на сайте мало посетителей, а когда их станет много - тогда и всплывет проблема скорости.
Re: Система поиска и букинга артистов
Тут уже никто не спорит. Считаю, что вполне нормальное решение - делать через AJAX и проблемы решать по мере поступления, т.к. пользователей много может и не прийти.Халявщик писал(а):Каждому свое)ab_dev писал(а):А зачем, если проще кешируемую вьюху аяксом подгрузить?По-моему живой поиск и php - вещи несовместимые. Это незаметно сейчас, когда на сайте мало посетителей, а когда их станет много - тогда и всплывет проблема скорости. А насчет траффика - если суммировать все полученные и отправленные HTTP заголовки при печатании какой-нибудь абракадабры, то разница не покажется мизерной по сравнению с постоянным соединением.anton44eg писал(а):так аяксом можно только json гонять, разница в траффике будет мизерная, а работать с сокетами из php - очень сомнительное удовольствие
Re: Система поиска и букинга артистов
Почему именно Го? Смотрю в его сторону, но совсем для других задач. Он не выглядит особо подходящим именно для веб-сайтаab_dev писал(а):Вот поэтому бэкенд переписываем на Go. На первых этапах это можно решить горизонтальным масштабированием (увеличением ресурсов сервера и добавлением хостов через балансировщик)Халявщик писал(а): По-моему живой поиск и php - вещи несовместимые. Это незаметно сейчас, когда на сайте мало посетителей, а когда их станет много - тогда и всплывет проблема скорости.
Re: Система поиска и букинга артистов
Лучше на сях.ab_dev писал(а):Вот поэтому бэкенд переписываем на Go. На первых этапах это можно решить горизонтальным масштабированием (увеличением ресурсов сервера и добавлением хостов через балансировщик)