SQlite время выполнения запроса

_Snake_
На сайте с 06.12.2010
Offline
151
1368

Привет, использую sqlite как модуль php. Создал таблицу, расставил индексы, задампил данные.

Тестирую скорость выполнения выборки, время ~0,01 сек. Всё отлично, устраивает!

Оставляю на ночь(ничего больше в неё не добавлялось, вообще бд не трогалась). На следующий день запускаю опять ту же выборку, время выполнения ~2,00 сек. Непорядок!

Удаляю таблицу, опять создаю, делаю дамп данных. Тестирую выборку, время ~0,01 сек. Подумал может кеш какой-то влияет. Копирую бд, на сервер, делаю выборку ~0,02. Всё, оставляю бд не тронутыми. На следующий день проверяю, на локалке опять ~2,00 сек выборка. Отправляюсь тестировать на сервер, там время ~2,5 сек. Если честно я в замешательстве, может кто-то может объяснить, откуда такой прирост во времени? В какую сторону копать?

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

время выполнения php скрипта или время выполнения самого запроса? размер бд?

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
_Snake_
На сайте с 06.12.2010
Offline
151
#2
Оптимизайка:
время выполнения php скрипта или время выполнения самого запроса? размер бд?

Ну можно сказать, что время выполнения php скрипта, запрос из него делаю и соответственно тайминг тоже в нём делаю. Размер БД 50 мб.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#3

при первом запросе файл БД кэшируется операционкой, последующие выполняются с кэшированным файлом, а через какое-т время кэш вытесняется из оперативки - как вам версия? проверьте время выполнения первого запроса (после рестарта сервера) и последующих после него для проверки.

попробуйте этот скрипт php с командной строки выполнить (чтобы исключить влияние всяких кешей-ускорителей), изменится ли результат?

_Snake_
На сайте с 06.12.2010
Offline
151
#4
Оптимизайка:
при первом запросе файл БД кэшируется операционкой, последующие выполняются с кэшированным файлом, а через какое-т время кэш вытесняется из оперативки - как вам версия?

Тоже думал об этом, но как описал в первом посте, БД бала скопирована на другой копм(сервер). В первый день, и там и там время запроса не большое, при том, на сервере даже при первом запросе 0,02 сек. На следующий же день, возрастает. Повторное выполнение скрипта, не даёт желаемого результата.

Ещё была теория, что кэш запросов может хранится в самом файле бд. Но размер файла не изменился.

---------- Добавлено 27.01.2016 в 18:04 ----------

Оптимизайка:
попробуйте этот скрипт php с командной строки выполнить (чтобы исключить влияние всяких кешей-ускорителей), изменится ли результат?

С коммандной строки, такое же время, ~2 сек.

Пересоздал бд, запустил с CMD ~ 0.02 сек.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#5

странно конечно. А если непосредственно через утилиту sqlite запросы делать, то же самое происходит?

_Snake_
На сайте с 06.12.2010
Offline
151
#6
Оптимизайка:
странно конечно. А если непосредственно через утилиту sqlite запросы делать, то же самое происходит?

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

S
На сайте с 23.05.2004
Offline
315
#7
_Snake_:
Да это и вправду кэш. Если перезагрузить комп, то кэш сбрасывается. Но прикол в том, что если совершить операцию перемещение файла БД на компе(например скопировать в папку), то тогда бд уже оказывается закешированно в оперативку и чтение происходит не с жеского, а из оперативы. Честно говоря для меня это неждан 🤪

А диски случайно не гибридные ? Они как раз такие финты с кешированием производят.

Это просто подпись.
_Snake_
На сайте с 06.12.2010
Offline
151
#8
Stek:
А диски случайно не гибридные ? Они как раз такие финты с кешированием производят.

На сервере не знаю, на локалке, да, есть ssd кеш.

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