|
|
|
| На сервере (четырехядерный, 2ГГц) посещаемость суточная до 1 500 000 хитов, весь сайт динамический на PHP и стоит всего одна база.
В процессах MySQL всегда съедает 40-60% CPU, остальные процессы еще 10-20% CPU. Скрипт уже максимально оптимизировал, сделал таблицы минимальными по размеру для быстрой выборки, но это помогло сбросить нагрузку совсем немного.
Реально ли как-то по-другому сбросить эту нагрузку через настройки, может MySQL не подходит для таких посещаемых проетов и ныжны какие-то другие технологии? | |
|
|
|
|
|
|
|
для: SportSoft
(28.04.2009 в 12:26)
| | А в чем проблема - ресурс работает слишком медленно? Когда процессы MySQL отъедают 40-60% это нормально - MySQL так и разрабатывалась, чтобы наиболее эффективно использовать ресурсы. | |
|
|
|
|
|
|
|
для: cheops
(28.04.2009 в 12:53)
| | cheops, работает нормально и страницы отдаются быстро, но при посещаемости в 2 000 000 хитов и более, думаю, что начнет подвисать, особенно в пики. Или это вполне нормально для такого сервера и просто необходимо будет брать еще более мощную машину? | |
|
|
|
|
|
|
|
для: SportSoft
(28.04.2009 в 12:59)
| | Хм... может и не будет тормозить, сервер у вас достаточно хороший... У вас сейчас утилита uptime какие циферки выдает?
Вообще если беспокоитесь о нагрузке - можно для начала вынести MySQL на отдельный сервер, потом, если нагрузка растет дальше дробить этот сервер в кластер или в репликационную схему. У вас какой характер базы данных, какая основная операция - запись или чтение? Если преобладает чтение - можно создать репликационную сеть - один мастер-сервер на запись, несколько слейв-серверов для чтения - тогда систему можно будет достаточно просто масштабировать - возрасла нагрузка, просто воткнуть ещё один сервер (и машины для слейв-серверов можно попроще и подешевле использовать). Однако, для начала можно просто разнести Web-сервер и сервер MySQL на разные машины (разумеется они должны находиться в одной стойке). | |
|
|
|
|
|
|
|
для: cheops
(28.04.2009 в 15:38)
| | cheops, спасибо за информацию. Для начала наверное можно просто мощность увеличить и все разместить на одном сервере, а потом уже делить будем :)
Средняя нагрузка 1 минута 5 минут 15 минут: 0.75 0.67 0.65 | |
|
|
|
|
|
|
|
для: SportSoft
(29.04.2009 в 07:41)
| | >Средняя нагрузка 1 минута 5 минут 15 минут: 0.75 0.67 0.65
Увеличиваете мощность когда цифры будут в районе 2.0-5.0. | |
|
|
|
|
|
|
|
для: cheops
(29.04.2009 в 10:25)
| | cheops, спасибо огромное за информацию :) | |
|
|
|
|
|
|
|
для: cheops
(29.04.2009 в 10:25)
| | На днях поставили 2 процессора по 4 ядра каждый вместо одного. Была нагрузка uptime 3.5-4.0. Сейчас держится 2.5-3.0. Что-то даже сильно не заметна разница во времени uptime, почему так может быть? | |
|
|
|
|
|
|
|
для: SportSoft
(16.07.2009 в 18:39)
| | uptime - это не только нагрузка на процессоры, это в том числе и заполнение канала, нагрузка на систему ввода/вывода. Процент использования процессора упал или остался на прежнем уровне? | |
|
|
|
|
|
|
|
для: cheops
(17.07.2009 в 08:25)
| | Процент использования процессора снизился. Раньше основной пожиратель MySQL показывал более 300% почти всегда. Сейчас держится где-то на уровне 150-220%.
В целом сейчас чувствуется, что страницу стали загружать быстрее, но просто такие цифры статистики заставляют задуматься, что скоро нужно будет искать что-то новое.
А новое - это скорее всего уже 2 рабочие машины (сейчас стоит 2 x Intel Xeon Quard 2.33 ГГц). | |
|
|
|
|
|
|
|
для: SportSoft
(28.04.2009 в 12:26)
| | Кеширование используете? Если нет, то попробуйте memcached. | |
|
|
|