|
|
|
Ограничение на количество баз MyISAM в MySQL'e
|
|||
|---|---|---|---|
|
#18+
Планируется сервис где народ сможет бесплатно создавать себе форумы и блоги (phpBB, vBulletin, WordPress и т.д) Для каждого пользователя разумно создавать отдельную базу. Ясное дело что количество самих баз ограничено только операционной системой. Но есть другое ограничение - "Количество дескрипторов открытых файлов". Когда кто-то заходит на форум какого-то пользователя, сайт откроет сразу несколько десятков таблиц чтобы проверить Куки, ПраваДоступа, ПринадлежностьКГруппе, Темы, Комментарии, БанЛист, ПриватныеСообщения, и т.д. А когда MySQL закроет файл и анулирует дискриптор соединения? Ведь отсоединение от таблицы не зарывает её. Много раз сталкивался с ситуацией, когда запустишь клиент, посмотришь на таблицу, поймёшь что не то скопировал, закроешь клиент, попытаешься удалить файлы таблицы, а Windows тебе говорит что не может удалить файл так как он используется другим приложением. Обычно в таком случае делаю рестарт сервиса MySQL (хотя возможно хватило бы просто сделать Flush). А в самом MySQL есть какая-то возможность указывать время жизни соединения с файлом или как-то по другому разруливать ситуацию, когда скажем у тебя 10.000 форумов, в каждом из которых около 30 таблиц (следовательно около сотни открытых файлов). P.S. InooDB не предлагать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2014, 01:23:33 |
|
||
|
Ограничение на количество баз MyISAM в MySQL'e
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2014, 01:34:41 |
|
||
|
Ограничение на количество баз MyISAM в MySQL'e
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял, то MySQL не думает о закрытии файлов (только упомянутый мною FLUSH) Тоесть по сути я должен сам следить, с какими форумами давно не работали и самостоятельно из флушить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2014, 18:34:54 |
|
||
|
Ограничение на количество баз MyISAM в MySQL'e
|
|||
|---|---|---|---|
|
#18+
InterSky, неправильно поняли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2014, 20:31:22 |
|
||
|
Ограничение на количество баз MyISAM в MySQL'e
|
|||
|---|---|---|---|
|
#18+
что именно не правильно понял? там описано только когда кеш очищается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 00:14:03 |
|
||
|
Ограничение на количество баз MyISAM в MySQL'e
|
|||
|---|---|---|---|
|
#18+
InterSky, подразумевается, что хендлы из кеша дескрипторов освобождаются когда нужно САМИ. Следить не нужно. Следить нужно разве что за приближением ситуации, когда ОДНОВРЕМЕННО выполняющихся запросов так много, что наступит ограничение на количество открытых файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 12:04:59 |
|
||
|
Ограничение на количество баз MyISAM в MySQL'e
|
|||
|---|---|---|---|
|
#18+
Хм... Для меня как-то сомнительно звучит "кеш дескрипторов". Кеш - это временно сохранённый набор информации. Если считать что открытые файлы можно назвать "кешем дескрипторов", тогда открытые соединения в которых пользователи подключаются к MySQL, является "кешем коннекшенов". Но ведь это не кеш, это просто количество открытых файлов и открытых соединений... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 22:58:32 |
|
||
|
Ограничение на количество баз MyISAM в MySQL'e
|
|||
|---|---|---|---|
|
#18+
InterSky, Это не "количество", это именно кэш дескрипторов. Если для выполнения какого-то запроса MySQL-ю нужно открыть какой-то файл, то он сначала смотрит в кэше дескрипторов и, если не находит, то открывает этот файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2014, 01:03:34 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38662043&tid=1834714]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 323ms |

| 0 / 0 |
