улучшение сфинкса ищет производительность на ec2 архитектуре

Хорошие взгляды. Я отбросил бы принятие на порте 20, поскольку это должно быть обработано как связанный пакет к соединению FTP. Я обычно помещал порт 123 как первая проверка для уменьшения задержки для NTP.

Поскольку ВЫХОДНАЯ цепочка только ОТБРАСЫВАЕТ или ОТКЛОНЯЕТ правила, имел бы смысл. Существующие выходные правила ничего не делают кроме дубликата политика.

Можно хотеть посмотреть счетчики и скорректировать упорядочивание правил соответственно.

Рассмотрите использование различных цепочек для новых соединений в каждом интерфейсе.

Полагайте, что вход не принял пакеты.

Используя инструмент как Shorewall для создания брандмауэра мог бы помочь получить все на месте.

0
задан 12 August 2013 в 12:58
1 ответ

TL / DR

Вот сводка моих советов (более подробное объяснение см. В заголовках ниже)

  • Создавайте статистику по использованию DiskIO / памяти / процессора
  • Попробуйте больше операций ввода-вывода в секунду, оказывает ли это значительное влияние на время запроса?
  • Сколько памяти сейчас использует Sphinx?
  • Изучите проблемные запросы (включите подробное ведение журнала)
  • Воспользуйтесь преимуществами нескольких ядер ЦП на одном компьютере

Полезная информация для сбора

Проверяли ли вы производительность вашего EC2, чтобы увидеть, где он может испытывать трудности (если вообще)? Я думаю, что DiskIO, Memory, CPU были бы хорошими индикаторами для проверки.

Было бы интересно посмотреть, приводит ли увеличение IOPS к значительному увеличению производительности в этом случае, пробовали ли вы несколько разных значений IOPS, чтобы увидеть, как это может улучшить производительность?

Память - я ожидаю, что вы ' re использует гораздо меньше 7 ГБ

http://sphinxsearch.com/blog/2011/11/11/sphinx-memory-consuming/

В этой статье вычисляется память, исключая файлы .spd и .spp. Таким образом, потребление памяти должно быть около 200 МБ.

Вам также может потребоваться учетная запись rt_mem_limit и mem_limit. Сказав это, маловероятно, что вы будете использовать более 7 ГБ памяти.

Вы можете подтвердить использование памяти с помощью следующей команды SHOW INDEX myindex STATUS

Вот мысль: если вы не Мне нужно столько памяти, но можно было бы обойтись с большим количеством ЦП, возможно, вам лучше использовать 2x c1.medium (0,183 доллара США) вместо 1x m1.large (0,320 доллара США)

Отследить этот запрос

http: // sphinxsearch. com / blog / 2011/10/27 / sphinx-performance-know-your-query-time /

query_log_format = sphinxql
query_log = query.log

Затем перезапустите демон Sphinx, и вы получите гораздо более полезный результат.

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

многопоточный поиск - Воспользуйтесь преимуществами нескольких ядер ЦП

Вы Возможно, вы захотите изучить функцию распределенного поиска sphinx, она может помочь для некоторых типов запросов. Вы можете настроить его для использования преимуществ обоих ядер ЦП, которые есть в m1.large

http://www.mysqlperformanceblog.com/2013/01/16/sphinx-search-performance-optimization-multi-threaded- search /

Также вы получаете бонус: после настройки сервера для распределенного

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

многопоточный поиск - Воспользуйтесь преимуществом использования нескольких ядер ЦП

Вы можете изучить функцию распределенного поиска sphinx, она может помочь для некоторых типов запросов. Вы можете настроить его так, чтобы использовать преимущества обоих ядер ЦП, которые есть у вас в m1.large

http://www.mysqlperformanceblog.com/2013/01/16/sphinx-search-performance-optimization-multi-threaded- search /

Также вы получаете бонус: после настройки сервера для распределенного

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

многопоточный поиск - Воспользуйтесь преимуществом нескольких ядер ЦП

. Вы можете изучить функцию распределенного поиска sphinx, она может помочь при некоторых типах запросов. Вы можете настроить его так, чтобы использовать преимущества обоих ядер ЦП, которые есть у вас в m1.large

http://www.mysqlperformanceblog.com/2013/01/16/sphinx-search-performance-optimization-multi-threaded- search /

Также вы получаете бонус: после настройки сервера для распределенного

Многопоточный поиск - Воспользуйтесь преимуществами нескольких ядер ЦП

Вы можете изучить функцию распределенного поиска sphinx, она может помочь для некоторых типов запросов. Вы можете настроить его для использования преимуществ обоих ядер ЦП, которые есть в m1.large

http://www.mysqlperformanceblog.com/2013/01/16/sphinx-search-performance-optimization-multi-threaded- search /

Также вы получаете бонус: после настройки сервера для распределенного

Многопоточный поиск - Воспользуйтесь преимуществами нескольких ядер ЦП

Вы можете изучить функцию распределенного поиска sphinx, она может помочь для некоторых типов запросов. Вы можете настроить его так, чтобы использовать преимущества обоих ядер ЦП, которые есть у вас в m1.large

http://www.mysqlperformanceblog.com/2013/01/16/sphinx-search-performance-optimization-multi-threaded- search /

Также вы получаете бонус: после настройки сервера для распределенного поиск, вы также можете выполнять индексацию параллельно!

...

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

...

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

2
ответ дан 4 December 2019 в 14:08

Теги

Похожие вопросы