myhand

Рейтинг
278
Регистрация
16.09.2009
netwind:
у меня - 42.

Тут я не вижу большей разницы с тем, что называл я (40-50). Но Вы упоминали куда меньшее значение (10) - вот его смысл для меня непонятен.

zexis:
Возможно и дешевле получится переплатить за мощный сервер, чем потом тратить деньги и время на тюнинг более слабого.

Идея в том, что пренебрегать "тюнингом" (иначе говоря, вменяемой настройкой) - не стоит. Лучше сэкономить на "железе", чем на администрировании.

netwind:
Но я за то, чтобы они были существенно меньше.

Чем что? Чем 100? Чем 40? Из каких соображений у Вас получается именно 10?

netwind:
затык может возникнуть из-за блокировок myisam, логики работы приложения и тд. в этом случае один 10секундный всплеск числа апачей отражается в виде плохой работы кеша потом еще час.

Думаю, если нагрузка _резко_ скачет только из-за "логики" приложения - что-то не так в датском королевстве...

С другой стороны - весьма вероятен вариант изменения нагрузки относительно плавно. И в этом случае заставлять ждать запросы в одном месте - крайне нелогично.

ssoll:
150 000 уников/день. cms
на выделенном сервере буду держать только бд. выбираю машину. на что обратить внимание? про железо. максимум памяти 24gb или на максимальный cpu ?

На наличие системного администратора.

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

dyakoff:
Если только под БД то 16 ram и 8 ядер xeon должно хватить

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

ТС: либо Вы ее предоставляете - либо в тред придут еще любители гадания на кофейной гуще. Их тут предостаточно. Оно точно Вам надо?

Z-Style:
Нагрузка скачет если смотреть в рамках 24 часа. На протяжении таких интервалов как 1 час - нагрузка равномерная.

Ну, Вы вот писали что число процессов апача доходит до 250. Вот это и есть момент пиковой нагрузки. Слабо верится, что в это время сервер у Вас "шевелится" достаточно шустро и вполне доступен для пользователей.

Кроме того, подобные запросы появляются в выводе mod_status и если нагрузка меняется более плавно. Т.е. в течение суток.

Z-Style:
На протяжении таких интервалов как 1 час - нагрузка равномерная.

И сколько в среднем? Утром. Днем. Вечером.

netwind:
Настолько не такой, что некоторые сектанты пропагандируют его полное отключение.

Бегите от таких сектантов. Те, у кого прямые руки - без проблем учитывают наличие такой сущности с пользой для себя. WP не исключение, он не настолько паршив.

netwind:
Для этого недостаточно просто поставить nginx. Небольшой затык на сервере и вся память будет использована апачами. Низкое значение MaxClients эту ситуацию предотвращает.

Против того, чтобы память не была исчерпана апачами - действительно MaxClients работает. Только это и в случае nginx так (КО намекает, что это by design). Разумные лимиты на число апачей должны быть и так и эдак меньше доступной памяти (на сервере есть и другие зверушки кроме апача, а все еще и "шевелиться" должно в пике).

Идея в том, что при наличие второго, более легкого сервера, перед апачем - MaxClients на последнем можно безопасно поставить значительно ниже. За счет чего - я написал. Не до 10, конечно - в этом особого смысла нету (хотя среднее число апачей будет близко к этой цифре, даже ниже). Но и выше 40-50 обычно ставить не имеет смысла. А 50*20Mb - вполне скромно даже для слабенького сервера.

Ставя MaxClients в низкое значение (~< 10) - Вы лишь заставляете клиентов (в пиковые моменты нагрузки) ждать обработки в одном месте. Между тем, как они прекрасно могут это делать в разных местах отработки скриптов - и ради этого можно чуток памяти пожертвовать.

Z-Style:
В периоды максимальной загрузки доходит до установленного максимума (250)

Нужно брать обычный, штатный режим работы. И, конечно, учитывать физические возможности сервера (250*20 ~ 4Gb).

Z-Style:
Кстати, а что означают процессы созданные от 127.0.0.1 ? (очень много таких)

Апач ходит и прибивает своих детей, если считает что они больше не нужны. Подобных запросов много, когда нагрузка скачет. Значит что-то не так...

Z-Style:
И еще: если поток создан, он не удаляется а только занимает память?

"если звезды зажигают - значит - это кому-нибудь нужно" (c) Как только апач посчитает что его дочерний процесс/поток больше не нужен - он его удалит. Не удаляет - значит еще нужен.

Почитайте документацию апача, в т.ч. про Max/MinSpareServers - узнаете много полезного и нужного про то как работают разные MPM апача.

Z-Style:
То есть, maxClients определяем пока не будет достаточно, либо пока будет хватать памяти?

Причем тут "метод тыка"? Смотрим на статистику (достаточно посмотреть top на обычное число процессов апача или на информацию mod_status) - и выставляем лимиты в соответствии с ней. Все "строго научно" (тм), никакого тыка.

netwind:
Идея в том чтобы уменьшить MaxClients, чтобы апачи попусту не плодились, а запросы становились в очередь.

Запросы и так станут в очередь. Единственное достоинство этого подхода _в среднестатистическом случае_ (хайлоад всякий пока не рассматриваем) - "тяжелые" процессы не висят впустую в памяти, занимаясь запихиванием контента "в трубу" до медленных клиентов. Именно эту роль берет на себя nginx, стоящий перед апачем. Естественно, вместо nginx может быть практически любой современный вебсервере, тотже апач с mod_proxy.

netwind:
Ну в данном случае и замеров никаких не сделано. Не известно насколько точно поможет.

Ну какие тут еще замеры? WP - должно помочь. Сейчас явно кеш используется, мягко говоря - слабо.

netwind:

Конкретно по этому параметру mysqltuner частенько такое выдает. Проблема в том, что он не может отличить действительное создание таблицы на диске от таблицы в памяти. А в самом mysql нет достоверных счетчиков для этого факта.

Ну, вот именно это я и обозвал "объективными причинами". Рекоммендованный Вами mysql-tunning.sh, кстати, дает в этом отношение хорошее замечание:

Note! BLOB and TEXT columns are not allow in memory tables.
If you are using these columns raising these values might not impact your
ratio of on disk temp tables.
Z-Style:
Пока что возник вопрос: как правильно выставить параметр table_cache ?

Начать с того, что научиться читать:

netwind:
Так что повышайте без фанатизма : повысили и снова оценили mysqltuner. Если показатель не уменьшился или уменьшился несущественно - уже хватит.

Это, вообще говоря, универсальная рекоммендация для автоматических "настраивалок".

Z-Style:
Не понимаю, зачем мне уменьшать max-connections, если ресурсы позволяют? Чтобы возникла ошибка "too many connections"?

Чтобы память расходовать на более полезные вещи.

Запомните также, что то значение, которое Вы указали в max-connections - должно быть _осмысленным_. Не только из соображения "быть достаточно большим, чтобы энта ошибка меня не доставала": сервер должен работать в таком режиме и памяти должно хватить _всем_. И mysql, и апачу с php, и nginx, и всему-что-там-еще-у-вас-есть. Включая Вас c sshd, чтобы Вы могли прийти на сервер и вручную разобраться в обстановке.

netwind:

Вообще, параметров-то много, но на порядки ускорить mysql изменением настроек обычно не получится. Сосредоточьтесь на других методиках лучше.

Зато в разы, в данном случае, - запросто. Особенно, если пишут относительно мало.

Z-Style:
пока я добрался до сервера, его оказывается уже заменили более производительным, настройки же остались прежними, теперь ресурс не тормозит.

Вот и хорошо. Теперь у Вас есть шанс исправить проблему в более приятной обстановке... Вы ведь понимаете, что проблема есть и никуда не делась?

Z-Style:

[!!] Query cache prunes per day: 6879993

Начните вот с этого, с кеширования. Можно попробовать для начала использовать рекоммендации mysqltuner.pl.

Затем разобраться с этим:

Z-Style:

[!!] Temporary tables created on disk: 49% (441K on disk / 884K total)

Если не получится избавиться от временных таблиц по объективным причинам - попробуйте использовать tmpfs для временных файлов mysql.

Всего: 4890