Что бы вы порекомендовали для сайта с высокой посещаемостью на ajax?

StackOverflow https://stackoverflow.com/questions/204802

Вопрос

Что мне выбрать для такого сайта, как reddit, с большим количеством голосов "за" / "против" и большим количеством комментариев по каждой теме?

Lighttpd/Php или Lighttpd/CherryPy/Genshi/SQLAlchemy?

и для базы данных, что было бы лучше масштабировать / быть самым быстрым MySQL (4.1 или 5?) или PostgreSQL?

Это было полезно?

Решение

Я не могу ответить на вопрос о MySQL / PostgreSQL, поскольку у меня ограниченный опыт работы с Postgres, но мой магистерский исследовательский проект был посвящен высокопроизводительным веб-сайтам с CherryPy, и я не думаю, что вы будете разочарованы, если будете использовать CherryPy для своего сайта.Он может легко масштабироваться до тысяч одновременных пользователей на обычном оборудовании.

Конечно, то же самое можно сказать и о PHP, и я не знаю никаких разумных тестов, сравнивающих производительность PHP и CherryPy.Но если вам интересно, сможет ли CherryPy обрабатывать сайт с высокой посещаемостью и огромным количеством запросов в секунду, ответ определенно будет утвердительным.

Другие советы

Идеальная установка была бы близка к это:

caching

Короче говоря, nginx это быстрый и легкий веб-сервер / front-proxy с уникальным модулем, который позволяет ему извлекать данные непосредственно из сохраненный в памятиэто хранилище оперативной памяти, без доступа к диску или какому-либо динамическому веб-приложению.Конечно, если URL-адрес запроса еще не был кэширован (или срок его действия истек), запрос переходит к веб-приложению в обычном режиме.Гениальная часть заключается в том, что когда веб-приложение генерирует ответ, его копия отправляется в memcached, готовая к повторному использованию.

Все это прекрасно применимо не только к веб-страницам, но и к AJAX-запросам / ответам.

в статье "обратными" серверами являются http, и конкретно речь идет о mongrel.Было бы еще лучше, если бы на обратной стороне был FastCGI и другой (более быстрый?) фреймворк;но это гораздо менее критично, поскольку команда nginx / memcached берет на себя большую часть нагрузки.

обратите внимание, что если ваша схема URL для трафика AJAX хорошо разработана (REST лучше всего, ИМХО), вы можете поместить большую часть базы данных прямо в memcached, и любая публикация (которая будет передана в приложение) может превентивно обновить кэш.

Что касается вопроса о БД, я бы сказал, что PostgreSQL масштабируется лучше и обладает лучшей целостностью данных, чем MySQL.Для небольшого сайта MySQL может быть быстрее, но, насколько я слышал, это значительно замедляется по мере роста размера базы данных.(Примечание:Я никогда не использовал MySQL для большой базы данных, поэтому вам, вероятно, следует получить второе мнение о ее масштабируемости.) Но PostgreSQL определенно хорошо масштабируется и был бы хорошим выбором для сайта с высокой посещаемостью.

Понадобится больше данных.У Джеффа было несколько статей о тех же проблемах, и ответом было подождать, пока вы не столкнетесь с проблемой производительности.

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

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

Как только у вас появится лучшее представление о требованиях к данным и потоке их обработки, приступайте к разработке базы данных.есть много правил, которым нужно следовать, но одно из лучших - следовать правилам нормализации (да, я специалист по БД, почему?)

Теперь у вас есть пара готовых страниц - запустите свои тесты.у вас возникли проблемы ?Да, а теперь посмотрите, что это такое.Обслуживание страниц или подтягивание базы данных ?Измерьте, а затем выберите план действий.

Я бы выбрал nginx + php + xcache + postgresql

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top