Перейти к содержимому


Железячный вопрос


Сообщений в теме: 8

#1 UmaCat

    Активный участник

  • Пользователи
  • PipPipPip
  • 122 сообщений

Отправлено 27 Сентябрь 2012 - 08:33

Выбираем VDS , на котором в частности будет крутиться и база
Хотелось бы увидеть Ваши рекомендации по самому серверу (по софту требования понятны).
Насколько она будет нагружать сервер.

Если это не секрет
- было бы здорово если бы вы примерно описали свой сервер в части железячной составляющей
- сколько там баз вертится

если секрет - скажите хотя бы что секрет :)

спасибо

Сообщение отредактировал UmaCat: 27 Сентябрь 2012 - 08:34


#2 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 27 Сентябрь 2012 - 10:08

Очень сильно зависит от конфигурации КБ, и от интесивности использования. Вопрос из разряда - сколько денег нужно для счастья?
Есть конфигурации занимающие целиком сервер на 8 ядер 2.2 мг 16 gb. Есть конфигурации которые ничего не занимают, и их можно поместить до 1000 штук на один такой сервер.

#3 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 27 Сентябрь 2012 - 10:10

VDS как правило можно апгрейдить, берите маленькую конфигурацию. Если не хватает мощности апргейдите.

#4 Анатолий

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 30 Март 2013 - 12:15

Все было понятно и хорошо пока я не начал работать с базами данных большого объема.
К примеру 15м файл расширением .csv не импортировался. Это я решил путем увлечения лимита примерно так FcgidIOTimeout 4500
Это решило проблему импорта.
По доп.действию будет выполнятся поиск (выборка) нужных строк по нескольким полям, и копирование данных из этих строк в другую таблицу.
При тестирование. Смотрел за нагрузкой на ЦП не более 0.5% ОЗУ занята в среднем 18%
Таблица из которой ведется выборка: около 100000 строк и 22 поля

Исходя из вашего опыта работы с большими базами.
Можете подсказать? Каким путем можно увеличить скорость обработки примерно таких действий?

#5 Анатолий

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 31 Март 2013 - 20:37

))) нашел способ увеличить скорость запросов в базу данных. Наверно многим он известен, да и я о нем знал, но не предпологал что на столько эффективен.
Я просто проставил индексы. Для просмотра информации о запросе прописывал перед запросом EXPLAIN.
Индексы конечно занимают место на диске, но производительность увеличивается в разы.

#6 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 02 Апрель 2013 - 04:25

Просмотр сообщенияАнатолий (31 Март 2013 - 20:37) писал:

))) нашел способ увеличить скорость запросов в базу данных. Наверно многим он известен, да и я о нем знал, но не предпологал что на столько эффективен.
Я просто проставил индексы. Для просмотра информации о запросе прописывал перед запросом EXPLAIN.
Индексы конечно занимают место на диске, но производительность увеличивается в разы.
Можете привести пример кода? Где и как прописываются индексы?

#7 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 02 Апрель 2013 - 07:41

Просмотр сообщенияarsenal (02 Апрель 2013 - 04:25) писал:

Можете привести пример кода? Где и как прописываются индексы?

Для установки индексов можете использовать edit_sql.php
Но индексы нужно проставлять, понимая что делаешь. Неправильные индексы вредны и наоборот замедляют работу.

#8 dolphin

    Активный участник

  • Пользователи
  • PipPipPip
  • 341 сообщений

Отправлено 02 Апрель 2013 - 10:48

А для не программистов есть решение? :)

У нас база состоит из пол миллиона записей... И уже существенно начинает висеть...

#9 Анатолий

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 02 Апрель 2013 - 13:34

EXPLAIN перед sql покажет как этот запрос обрабатывается. По затраченному времени видно лучше стало или хуже. Лишние индексы замедляют другие запросы. Так что если у вас много разных запросов в эту таблицу нужно учитывать что некоторые из них могут замедлиться. И не ставьте индексы на все поля, они будут в худшем варианте случайно выбираться.
Индексы должны стоять в определенном порядке. Будьте внимательны!

Еще в некоторых случаях мне помогло SELECT DISTINCT. Таким запросом можно убрать дубликаты. Если под условие попадает одна и та же строка несколько раз. Использовал при создании фильтров.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных