Как установить Sphinx на CentOS 6, где БД и сервер приложений являются отдельными серверами
Во-первых, как лучше всего установить Sphinx на сервер CentOs?
rpm -ivh http://sphinxsearch.com/downloads/accept.php?file=sphinx-2.0.6-1.rhel6.x86_64.rpm
yum install sphinx
не похоже на работу.
Кроме того, у меня есть один сервер приложений и один сервер баз данных. Сервер приложений работает под управлением Magento, где у него есть новый модуль, работающий со Sphinx, но неясно, как в документах Sphinx, так и в любых поисках в Google, на каком сервере Sphinx должен быть установлен для достижения наилучшего эффекта.
2 ответа
Во-первых, вы захотите сделать ссылку на файл напрямую, а не на веб-форму.
rpm -ivh http://sphinxsearch.com/files/sphinx-2.0.6-1.rhel6.x86_64.rpm
Большая часть документации, которую я прочитал, говорит, что сокеты будут работать быстрее, чем TCP/IP для поиска, и, учитывая, что Sphinx будет получать / анализировать данные из mysql, может показаться, что возможность получать эту информацию как можно более напрямую. быть самой разумной вещью.
Очевидный момент здесь заключается в том, сколько работы будет выполнено на каждой стороне, если ваш сервер приложений имеет постоянно меньшую нагрузку, возможно, стоит принять небольшую нагрузку на TCP/IP, чтобы больше не замедлять работу вашего SQL-сервера.
Во-первых, я не чувствую себя комфортно при установке пакетов через HTTP. Я предпочитаю скачать пакет с помощью wget или чего-то подобного, проверить все md5sums и сделать так, чтобы у меня был пакет без изменений. Если они пройдут, я установлю. Просто то, что я делаю, и что-то, чтобы рассмотреть в будущем.
Во-вторых, я думаю, что все зависит от текущей и будущей нагрузки сервера приложений. Если вы не ожидаете чрезмерной нагрузки на него, а текущий веб-сервер стоит твердо, то я бы установил его на сервер приложений. Не зная точно, каковы зависимости установки, я думаю, что конфигурация будет проще, особенно если это требует apache. Установка sphinx на сервере БД может также потребовать наличия apache, что увеличит нагрузку на этот ящик.
И наконец, что касается "наилучшего эффекта", я думаю, вы должны знать, каковы ваши ожидания от приложения. Если для вас важны миллисекунды, вы захотите пойти по самому быстрому маршруту к данным и построить свою архитектуру для поддержки этого. Если этого не произойдет, то будет хорошо, если у вас есть БД на втором сервере, который, вероятно, в любом случае находится в той же сети, и соединение через tcp/ip. Но опять же все это в том, что вы ожидаете.