Требуется помощь (innoDB, блокировка)

12
A
На сайте с 29.12.2007
Offline
67
#11
Пуховой:
У пользователя на сервере установлено многопоточное ПО, которое делает до пятисот запросов в секунду на мой сервер.

А сервак-то выдержит? Вообще, если мне не изменяет память, innodb блокирует строку, а не таблицу, как myisam.

Пуховой
На сайте с 17.11.2007
Offline
154
#12

aktuba, да сервер я с запасом взял, будучи не представляя возможной нагрузки даже навскидку. При тесте в 500 потоков ср. загрузка по top - 0.22. InnoDB потому и использую - разным клиентам друг друга ждать не приходится, ибо каждая строка обновляется независимо от других.

Shagabutdinov, по Oracle и MsSql погляжу, спасибо. БД поменять легко - сервис пока запущен в режиме тестирования, можно побаловаться. Хотя, уже принял решение оставить innoDB и не мучаться - вторую ночь ковыряюсь, на уме только снижение нагрузки, повышение скорости и стабильности.

S
На сайте с 24.10.2009
Offline
14
#13

На самом деле, при должном умении в большинстве случаев, можно с помощью минимального набора исправлений (то есть без смены БД или глобального рефакторинга) добиться значительного прироста производительности, это я по своему опыту знаю :)

А также, очень важно не заниматься преждевременной оптимизацией, то есть, нужно составить некоторые объективные технические условия работы и стремится их выполнить (например, время отклика - 0.1с при нагрузке 500 запросов в секунду). Оптимизация без таких условий может оказаться напрасной тратой сил (или денег заказчика или своих денег, если бюджет проекта фиксированный), поэтому не переусердствуйте с оптимизацией :)

Лично я занимался оптимизацией уже после сдачи проектов (делал несколько высоконагруженных систем), когда уже отдавал в работу и было видно, что под нагрузкой они начинают работать медленно...

Программирование сложных проектов; http://shagabutdinov.com (http://shagabutdinov.com)
N
На сайте с 06.05.2007
Offline
419
#14
Пуховой:
где взять такую БД, чтобы работала в оперативной памяти, а изменения кидала на диск раз в минуту, скажем, и то в виде защиты от сбоя. Вместе с тем чтобы были возможности синхронизации более интересные, нежели блокирование целой таблицы

в innodb в режиме fdatasync=nosync вообще ничего не пишет до останова программы или когда потребуется память освободить. еще нужно отключить бинлоги, innodb_flush_log_at_trx_commit=0.

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

в общем, есть где развлечь себя даже с mysql.

Кнопка вызова админа ()
Dreammaker
На сайте с 20.04.2006
Offline
554
#15
Пуховой:
где взять такую БД, чтобы работала в оперативной памяти, а изменения кидала на диск раз в минуту

MongoDB, например.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий