Об общей регистрации, кэшировании и производительности в новой среде - PullRequest
1 голос
/ 30 августа 2009

Я создаю новый PHP-фреймворк в зависимости от Zend Framework. Это будет универсальный MVC-фреймворк для веб-разработки. Я беспокоюсь о 2 аспектах:

  1. Регистрация:
    Я должен использовать регистрацию? Существуют ли существенные проблемы с производительностью при ведении журнала?

  2. Кэширование запросов к базе данных:
    Я кеширую некоторые запросы из базы данных. Я обеспокоен кэшированием информации, связанной с пользователем. Предположим, что есть некоторая информация, связанная с пользователями. Нравится их личная информация и т. Д. Если я кеширую такие данные, для каждого пользователя будет сгенерирован файл кеша в моей папке с данными. Теперь предположим, что за 2 часа в сети 10 000 - 20 000 пользователей. Это означает, что в моей папке будет 20000 файлов.
    Мой вопрос заключается в том, повлияет ли это на производительность моего сервера. Существует ли верхний предел количества файлов, которые может иметь папка на сервере.

Ответы [ 3 ]

2 голосов
/ 30 августа 2009

Не используйте файловый кеш. Операции с файловой системой исключительно медленные: http://imgur.com/X1Hi1.gif. Используйте memcached, вам не нужно много памяти, в отличие от того, что написано в предыдущем посте, объем памяти, который вам необходим для этого, полностью пропорционален тому, сколько вещей вы хотите сохранить, плюс memcached может отбирать данные в зависимости от частоты доступа.

1 голос
/ 30 августа 2009

1) Вы определенно хотите регистрироваться, я бы порекомендовал xdebug, доступный по адресу http://www.xdebug.org/.. Подробнее о снижении производительности можно узнать на их сайте. (плюс он прекрасно интегрируется с PHP-версией Eclipse.)

2) Я не совсем уверен, что хочу кэшировать много пользовательской информации, но memcache, вероятно, является одним из лучших вариантов для кэширования в php (http://se2.php.net/memcache). И, да, нет ограничений на количество файлов и вы, вероятно, также не будете превышать 32-битный предел размера файла =)

0 голосов
/ 30 августа 2009

Кэширование - это реальная проблема, почти невозможно понять ее правильно с точки зрения пользователя / программиста. Я бы не кешировал такие простые вещи, как пользовательские данные. Это уже кешируется в базе данных. Сосредоточьтесь больше на сложных запросах и полных веб-страницах (или их частях).

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

Memcache не рекомендуется мной, если у вас не достаточно памяти (> 8 ГБ) на вашем компьютере. Memcache работает лучше всего, если вы добавляете серверы Memcache с 16 ГБ, не делая ничего другого для кеширования.

Для небольших сайтов, оборудования и требований вы должны рассмотреть APC, поскольку это очень низкий кэш-память для данных и одновременно ускоряет выполнение php (вы не хотите запускать производственный сервер без байт-кода кэш).

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