soman
Новичок
Проблема Оптимизации
Добрый день, ув. участники форума.
Хотелось бы узнать Ваше мнение насчет одной проблемы, с которой рано или поздно многие из нас сталкиваются.
I. Что есть.
- VPS (1MHz Celeron, 1gb ram, 120gb HDD).
- 5000 уников в день, 200'000 показов.
- БД гибридная: Mysql+текстовые файлы.
- Система разработана на PHP.
II. Суть проблемы.
На проекте есть личная почта. Реализована (с точки зрения технолог.) так:
при регистрации на проекте каждому пользователю - выделяется 2 папки: incom, outcam. В них в текстовом формате (*.txt) хранятся письма. Они же парсятся, сортируются, редактируются, удаляются средствами PHP.
Каждый раз парсится ровно столько файлов, сколько вообще есть у пользователя. --> В этом я видел плюс когда реализовывал (тогда я посчитал что это будет быстрее, чем делать выборку SQL-запросом в mysql через SELECT * FROM MAIL WHERE FOR_LOGIN='$login' из 600'000 Записей (это сейчас, а через год может быть и 2-3 млн.).
Нагрузка на систему сейчас очень высокая (LA колеблется в пределах от 0.01 ночью до 20 к вечеру - самому пика активности).
При этом систему грузит httpd, а не mysql (70% завязано на mysql, 30% На текстовых файлах).
Делал замеру при помощи microtime(), которые показали, что у тех, у кого в личке по 2к-3к писем - время загрузки кода (парсинг+вывод) примерно =10-20 сек. У кого меньше - все нормально. Другие узкие места на сайте не обнаружены.
Тоесть, как я понял - систему тормозят пользователи, у которых личка захламлена. Вводить лимиты на кол-во писем совершенно не хочется.
Соответственно вытекающие вопросы:
1) Поможет ли переход с текстовых файлов на Mysql?
2) Если поможет, то как лучше структурировать данную БД?
Добрый день, ув. участники форума.
Хотелось бы узнать Ваше мнение насчет одной проблемы, с которой рано или поздно многие из нас сталкиваются.
I. Что есть.
- VPS (1MHz Celeron, 1gb ram, 120gb HDD).
- 5000 уников в день, 200'000 показов.
- БД гибридная: Mysql+текстовые файлы.
- Система разработана на PHP.
II. Суть проблемы.
На проекте есть личная почта. Реализована (с точки зрения технолог.) так:
при регистрации на проекте каждому пользователю - выделяется 2 папки: incom, outcam. В них в текстовом формате (*.txt) хранятся письма. Они же парсятся, сортируются, редактируются, удаляются средствами PHP.
Каждый раз парсится ровно столько файлов, сколько вообще есть у пользователя. --> В этом я видел плюс когда реализовывал (тогда я посчитал что это будет быстрее, чем делать выборку SQL-запросом в mysql через SELECT * FROM MAIL WHERE FOR_LOGIN='$login' из 600'000 Записей (это сейчас, а через год может быть и 2-3 млн.).
Нагрузка на систему сейчас очень высокая (LA колеблется в пределах от 0.01 ночью до 20 к вечеру - самому пика активности).
При этом систему грузит httpd, а не mysql (70% завязано на mysql, 30% На текстовых файлах).
Делал замеру при помощи microtime(), которые показали, что у тех, у кого в личке по 2к-3к писем - время загрузки кода (парсинг+вывод) примерно =10-20 сек. У кого меньше - все нормально. Другие узкие места на сайте не обнаружены.
Тоесть, как я понял - систему тормозят пользователи, у которых личка захламлена. Вводить лимиты на кол-во писем совершенно не хочется.
Соответственно вытекающие вопросы:
1) Поможет ли переход с текстовых файлов на Mysql?
2) Если поможет, то как лучше структурировать данную БД?