Должен ли я перестроить свой сайт PHP с базой данных документов для повышения производительности? - PullRequest
5 голосов
/ 18 октября 2010

У нас есть веб-сайт, разработанный на PHP с MySQL и иногда сталкивающийся с проблемами при увеличении трафика. Мы почти оптимизировали сайт всеми способами для обработки большего количества запросов, но все еще сталкиваемся с проблемами в часы пик.

Один из моих друзей предлагает перестроить сайт, используя HBase / MongoDB в качестве бэк-энда для повышения производительности. Также он предлагает, чтобы, если мы перестроим его, мы могли легко перейти на облачные сервисы. Но нам нужно изучить все это и перестроить его.

Лучше сделать это?

Ответы [ 2 ]

5 голосов
/ 18 октября 2010

Первое, что нужно сделать, - это профилировать свое веб-приложение, чтобы определить узкое место.

Если это определенно запросы к базе данных, то замена mysql на mongodb может быть хорошей идеей, но базы данных документов работают иначе, чем реляционные, и у вас могут возникнуть проблемы с переносом некоторых типов функциональности. , Если вы решите попробовать монго, прототип рано и часто, потому что нет гарантии, это будет быстрее для вас.

Если масштабируемость действительно является проблемой для вас, то почему бы не перейти прямо к облачной веб-архитектуре, такой как движок приложений Google. Это основано на Java или Python и базе данных документов (bigtable), но с самого начала вы вводите масштабируемую «облачную» архитектуру.

Другой вариант - просто ввести (или оптимизировать) кэширование (с помощью memcache) - это будет иметь меньший архитектурный эффект для вашего приложения, поэтому потребует меньше усилий.

0 голосов
/ 18 октября 2010

Существуют также простые опции масштабируемости MySql.Еще в «темные дни» мы просто добавляли выделенное оборудование в БД, поскольку на первом этапе стало возможным кластеризация.Вы также можете использовать облачные решения на базе MySQL.Например, Amazon RDS утверждает, что работает со всеми теми же командами, что и MySQL, а также претендует на простое преобразование.

Прежде чем приступить ко всему этому, я бы порекомендовал оптимизировать, проиндексировать и профилировать.Я запускаю сайты на базе PHP / MySQL CMS с более чем 1 миллионом уникальных пользователей в день, не обращаясь к облаку.Код является ключом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...