Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет rusec ([info]rusec)
@ 2007-10-19 02:17:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Помощь зала

Взято c Либрусека. Комментарии приветствуются.

Читают ли меня знатоки Apache/PHP/Mysql/Drupal и подобного, имеющие опыт работы под нагрузкой?

Надеюсь, читают.

Нужны идеи.

При небольшой в сущности нагрузке в четыре тысячи человек в день Либрусек сжирает весь процессор и начинает безбожно тормозить. Виртуальный хостинг вываливал CPU-квоту, реальный не вываливает, но от этого не сильно легче. Сотня посетителей onlain - и loadaverage стабильно больше 1. Это плохо.

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

Кто чего подскажет?

Имеет смысл менять апача на что-то другое, как сделала Вебпланета?

Что крутить у мускула?

Куда вообще смотреть?


Стоит всё более-менее по умолчанию.





(Читать комментарии) - (Добавить комментарий)

Re: MySQL config
[info]vas9999@lj
2007-11-06 21:34 (ссылка)
Да в общем ничего особо конфиденциального там нет, кроме вещей типа old_passwords = 1, [mysql.server]user, директории, и.т.д. Однако, это мелочи. Теперь по делу:

Как я понимаю, у тебя 1Г меморей, 1 процессор, и твой милый друг друпал использует MyISAM формат для таблиц (если в чем ошибся, укажи please).
В этом случае:

-----

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
set-variable=long_query_time=2
log-slow-queries=/var/log/mysql-slow-queries.log
query_cache_size = 55M

skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 55M
thread_concurrency = 4

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

-----

Enjoy :)

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: MySQL config
[info]rusec@lj
2007-11-06 21:46 (ссылка)
Да, всё правильно.

Прописал, посмотрим что будет. Буферов получается почти на всю память - это так и задумано? Там же ещё апач, ngnix, php кэш...

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: MySQL config
[info]vas9999@lj
2007-11-06 21:55 (ссылка)
Это либо для машинки с 512М, которая в основном MySQL сервер, либо, как в твоем случае, для машинки с 1Г, которая при этом еше и апач. Если ей станет невмоготу (в чем я сомневаюсь), переполовинь key_buffer, read_rnd_buffer_size, и myisam_sort_buffer_size. Но я думаю, не придется.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: MySQL config
[info]rusec@lj
2007-11-06 22:03 (ссылка)
OK, спасибо.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: MySQL config
(Анонимно)
2007-11-18 05:35 (ссылка)
10 дней спустя - ну как?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: MySQL config
[info]rusec@lj
2007-11-18 10:33 (ссылка)
Работает, спасибо.
По совокупности всего тюнинига la держится меньше 0.5
Это хорошо.

(Ответить) (Уровень выше)

Re: MySQL config
[info]curt_spellman@lj
2008-01-15 07:41 (ссылка)
key_buffer = 256M
sort_buffer_size = 128M

А можно поинтерисоваться, чем вы руководствуетесь при выборе размера для следующих дирректив?
key_buffer = 256M
myisam_sort_buffer_size = 64M
query_cache_size= 55M

И насколько оно будет полезно для innoDB?

(Ответить) (Уровень выше)


(Читать комментарии) -