|
|
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
Есть приложение на Access которое использует курсоры. (OpenRecordset) Читает с Oracle 8.1.7 Odbc линк Вижу что медленно работает. Начал копать. Простая программа на полный скан таблицы в 500 мегабайт дала удивительные результаты. В не зависимости от мощьности ПК мы имеет скорость в сетевом интерфейсе 80000 байт\с на прием и 60000 байт на отправку. Причем при переходе на гораздо мощный ПК клиента скорость не увеличилась. Сервер - свободен, сетка тоже (можно копировать файлы на приличной скорости 5мб\с с сервера - сетка 100мегабит в т.ч. на клиентах) Взял утилиту OracleSQL plus которая работает без Odbc и запустил курсор (программа ниже) и надоже - скорость возрасла до 250000 байт\с на прием и на отправку уменшилась до 30000 т.е. Прием возрос. На более мощном ПК скорость приема увеличилась до 500000 байт\с. Т.е. имеем возрастание на порядок Можно ли как нибудь оптимизировать работу ODBC? SET AUTOPRINT ON SET TERMOUT OFF SET HEADS OFF SPOOL D:\TEMP\TEST_PERF.TXT VARIABLE VREC REFCURSOR BEGIN OPEN :VREC FOR SELECT * FROM CONS.CONS; END; / Это программа которую вызываем из формы Private Sub Start_Click() Dim MyDbs As Database Dim Rc As Recordset Set MyDbs = CurrentDb Set Rc = MyDbs.OpenRecordset("xxx_tab") Dim FStr As String Dim Rcount As Long Dim I As Long Rcount = 0 Rc.MoveFirst Rc.CacheSize = 50 Rc.FillCache While Not Rc.EOF 'And Not Rcount = 1000 For I = 1 To Rc.Fields.Count FStr = FStr & CStr(Nz(Rc.Fields(I - 1))) & "|" Next I FStr = "" Rc.MoveNext Rcount = Rcount + 1 If Rcount Mod 50 = 0 Then Rc.CacheStart = Rc.Bookmark Rc.FillCache Me.MyTxt.Caption = "Îáðàáîòàíî " & Rcount & " çàïèñåé" Me.Repaint End If Wend End Sub Сергей С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 16:49:54 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
А если открыть ODBC Workspace? Прилинкованные ODBC таблицы ведут себя безобразно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 16:55:04 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
Я грохнул линк и сделал прямой запрос. Действительно соотношение по производительности изменилось на прием 140000 на отсылку 20000. Т.е. изменили соотношение на почти на 100% однако это очень отстает от того что дает нам SQL Plus. Хотя я читал некую статью где утверждалось обратное и самое главное на более мощном ПК увеличения производительность выше 140000 не наблюдалось :) Вот статья http://ourworld.compuserve.com/homepages/Ken_North/ODBCPERF.HTM Сергей С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 17:17:01 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
всю логику на сервер -> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 17:20:12 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
kedzoвсю логику на сервер -> Это понятно, но переписывать приложение это не быстрый процесс а улучшить чтонибудь хочется сейчас. Тем более есть другие приложения типа 1С для SQL у которых таже картина а логику на сервер там не перенесешь. И потом видно что ODBC душит вот только где :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 17:23:16 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
Не совсем ODBC душит, аксесс с его бейсиком и рекордсетами. Если б код был на С написан - картинка была б другая (о чём в статье и говорится :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 17:30:08 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
Alexey ShА если открыть ODBC Workspace? для более внятного ответа сильно хотелось бы версию Акцесс знать. переход на ODBC Workspace определенно лучше. Однако НИКАКОГО выигрыша можно и не заметить. Насколько не заметить - зависит от количества возвращаемых записей и их размера в строковом представлении. при тысячах записей думаю - нечем будет мерять разницу. Все съест цикл формирования строки. тут определенно что-то надо делать с Код: plaintext 1. 2. с обращением к полям можно обойтись так варианты внутри DAO 0) прокешировать Fields 1) позаморачиваться с RC.GetRows 2) использовать RC.Collect(I-1) при переходе на АДО - разумно попользовать ss = rC.GetString(adClipString, , "|", vbNullString, "<нет данных>") (на место пропущенного параметра можно поставить величину кеша страницы, в приведенном примере - 50, а можно ничего не ставить - таогда цикл While исчезнет, и будет заменет целиком ОДНОЙ СТРОКОЙ.). Не могу "проверить", но возможно при работе с АДО сетевая производительность чуть улучшится. (а может и ухудшится - смотря кто писал). Думаю, что даже если собственно сетевая производительность ухудшится общий забег в любом случае выиграет RC.GetString. Причем с хорошим отрывом. Если не переходить на АДО и/или не пользовать GetString на весь рекордсет разом, то к конструкции & надо отнестись отдельно. (возможно потребуется функция Format или "аналог") Зная заранее, сколько записей будет возвращено( и, может быть, но не обязательно, - размер строки записи) - сформировать заранее строку, пригодную для вмещения всего результата FStr = String$(mySize,0) дальше формировать ее так Mid(Fstr,currentPos) = strChunk currentPos =currentPos + Len(strChunk) в худшем случае придется подрезать по нулевому символу. можно поискать реализации классов типа "faststring". Делать они в 90% случаев будут в точности то, что выше указано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 17:32:17 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
ну можно попробовать Recordset.GetRows применить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 17:33:00 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
интересно а oledb драйвер для оракла бывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 17:36:13 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
АлексейКинтересно а oledb драйвер для оракла бывает? бывает. и от МС и от самого Оракла, и "от третьих". Помню в семерке (я позднее не видел ничего) было как минимум три механизма доступа из Васика. (правда, ДАО/ОЛЕДБ - кажется не было). Самый быстрый - ОДБС. Но нормальных на 100% драйверов ОДБС просто не было в природе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 17:40:34 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
была такая фича на старой работе: оракл 7 акс 97 драйвер, кажется, был от оракла так вот в некоторых запросах вылезала полная фигня, если не включать группировку. Выловить так и не удалось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 17:58:19 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
kedzoбыла такая фича на старой работе: .... так вот в некоторых запросах вылезала полная фигня, если не включать группировку. Выловить так и не удалось... полная фигня при возврате числовых значений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 18:01:25 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
To Alexey Sh и витёкша Access 97, гонял эту прогу и на Access 2000. Однако вот что беспокоит Процессор клиента загружен не более чем на 30% (я еще Access давал High priority в Windows.) По моему разумению вычислительные ресурсы используются не полностью как же Recordset access и прочие навороты могут мешать? Да они не забивают проц. Более того я сознательно ввел в процедуру FillCache думал что она сразу будет группой считывать строки, а видно нет, не делает Таблица большая 3 милиона записей, каждая запись в oracle гдето 990 байт Такое впечатление что гдето в ODBC сидит timeout например опрашивает чередь поступивших данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 18:36:24 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
selis76To Alexey Sh и витёкша Access 97, гонял эту прогу и на Access 2000. Однако вот что беспокоит Процессор клиента загружен не более чем на 30% (я еще Access давал High priority в Windows.) По моему разумению вычислительные ресурсы используются не полностью как же Recordset access и прочие навороты могут мешать? Да они не забивают проц. Более того я сознательно ввел в процедуру FillCache думал что она сразу будет группой считывать строки, а видно нет, не делает Таблица большая 3 милиона записей, каждая запись в oracle гдето 990 байт Такое впечатление что гдето в ODBC сидит timeout например опрашивает чередь поступивших данных все он делает (в смысле филлкеш) с арифметикой у меня всегда проблемы - на вскидку размер выходной строки = 2.5 гигабайта - если "все за раз" не может такого быть, чтобы вы всю таблу за раз обрабатывали. если циферки не враки - ты должен отчетливо наблюдать, как с течением времени все реже и реже обращения к серверу идут. Да и сервер напрягать держать невыбранных буферов и/или открытых курсоров такого размера - не почеловечески. Ох, НЕ ВЕРЮ, что вы весь набор за раз обрабатываете. СКОЛЬКО ВРЕМЕНИ ЗАНИМАЕТ В ЧАСАХ РАБОТА? железка-то какая? Сегодня вечером - без всякого рекордсета проделай фокус Sub Test Dim s1 as String dim FStr as String dim iNdex as long s1 = String(999,0) For index = 1 to 3000000 Fstr = FStr & s1 NExt и оставь на ночь считаться. Завтра посмотри, где там индекс болтается, на каком миллионе. Производительность у тебя выше 30% и не поднимется. Ос очень быстро своп начнет и будешь ты работать с диском. А процессор ждать, пока дисковые операции будут выполняться. Во первых, использовать Mid= - бегом марш. Во вторых, тут что-то с размером думать надо. Нафига и кому така строка/файл размера не дочитать до конца жизни? ЗЫ0 ох, так и просится вынос в ActiveX DLL... ЗЫ1 строка ведь дальше в файло превращается? Дальнейшая оптимизация - писать напрямую в файл. Лучше отображенный на память. В принципе, можно изобразИть с ним как со строкой обращение. Правда чуть покодировать придется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 19:03:15 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
To Victosha Как видно из приведенного в Topic кода там по 50 записей считывается, а при следующем считывании он очищается, строка FStr у меня очищается см FStr="" Так что далее сборщик мусора все уберет P S Кстати GetRows (Если Recordset базируется на прямом запросе) увеличивает траффик, но уменьшает количество читаемых записей в секунду при этом загрузка Pentuim III 633 подпрыгивает до 70% Если Recordset сделать на Линке то производительность вообще падает при применении GetRows. Так что Fields ведет себя лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 19:19:12 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
да вот еще подумал - 1) момент вставки подстроки - было бы удачно, если бы размер вставляемой подстроки всегда был кратен четырем (8 байт). по сравнению с временем формирования выходной строки все остальное не так критично, но все же 2) обращение к полям при рекордсетах такого размера - тоже становится важным. Перепиши через RS.Collect. Поиграйся с настройками рекордсета. Говорят для MS SQL, в смысле скорости, лучше, когда CursorLoaction = adUseServer (в терминах АДО), курсор для рекордсета заказан forwardonly, cashsize=1. для Оракл - не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 19:28:42 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
извини - невнимателен и не обновляю ранее прочитанное - не пересматриваю. виноват. если это не универсальная процедура - попробуй явно прокешировать каждый Field. или попробуй Collect. здесь я не могу внятного совета дать - что лучше - не знаю. 50*990 - это конечно не гигабайты, а всего 49 килобайт. Попробовать все же стоит. Примерно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2004, 19:49:44 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
2 selis76 Ау, есть ли новости с фронта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2004, 13:41:09 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
To Victosha and all После модификаций (сделал recordset ForwardOnly, не на линке а на прямом запросе повысил выборку до ~1000 зап\с (Против ~3000 зап\с через SQL Plus) Загрузка процессора клиента уже возрасла до 60% Потом только movenext (запись то всеравно грузится целиком). Скорость возросла с 1000 з\с до ~1600 з\с то же по килобайтам (запись при передаче занимает 170 байт и (990 это если отформатировать для вывода)) Убрал & скорость возрасла с 1000 до 1100. Тогда неясно - а почему загрузка проца на более мощньм ПК 2ГГ против 633 Мг такая же, а скорость заметно не увеличивается ? Вывод такой - факт тормозов с взаимодействием Access - Odbc зафиксирован (SQL Plus догнать не удалось), (подобное я кстати наблюдал и на 1С - SQL). Сам Access инкапсулирует вызовы в вызовы к ODBC драйверу - SQLFetch SQLBindCol и т.д. А как там работает ODBC драйвер можно только догадываться,может он какой нибудь timeout использует в ожидании запрошенной порции данных а управлять этим timeout я не могу. Дальнейшее исследование возможно если можно пошевелить параметрами Odbc драйвера например, а подходящих я не нахожу. Шевелить параметрами Oracle клиента ихмо не имеет смысла так как SQL Plus я пока не догнал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2004, 15:46:46 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
все-таки не ясно, какие именно проводся замеры. ИМНО - догнать SQL Plus на Акцесс - задача неосуществимая. По двум причинам 1) как помню, SQL Plus обращается к Oracle.Net напрямую, минуя ОДБС. Трудно предствить, чтобы драйвер выиграл. Когда-то их было как минимум 3 от Оракл от Майкрософт и от Мерант. Производительность их может отличаться. У тебя чей? 2) У тебя происходит обработка в p-Коде, исполнитель которого работает как один из потоков Акцесс. Увеличить скорость собственно обработки плученных от ДАО строк в 20-40 раз можно, перенеся код как есть в native-компилированную ActiveX dll. А сравнивать с SQL Plus разумно можно просто пустой цикл перебора строк для приложения, обращающегося к ОДБС напрямую. У тебя все-таки даже в случае ODBCWorkspace есть посредник. У тебя должна бы быть под рукой подходящая АДО библиотека. Я бы все-таки советовал попробовать. Может все-таки получиться выигрыш на твоем рекордсете заметный. если бы это был MS SQL Server - точно получил бы. Оптимизировать скорость перебора рекордсета и скорость его обработки хорошо в двух независимых процедурах. Ты ведь так и делаешь? Пока что понял следующее. Манипуляции с параметрами рекордсета дают 60% прирост скорости. Попытка ускорить формирование строки - еще 10% Почему бы их не скомбинировать? Еще что-то можно выиграть на доступе к полям. Вот про GetRows - я не понял в точности, что там за коллизия вышла, и на чем именно скорость потерялась. До опыта предполагаю, что собственно на доступе к элементам массива. Это как раз можно попробовать пооптимизировать. Хорошо бы потрассировать процедуру на предмет, какой процент времени занимает ее характерный логический шаг. Если есть желание "продолжать" (а мне - так интересно было бы увидеть, на чем сердце успокоилось), может выложишь последние фрагменты получившегося? любобытно увидеть абсолютное время работы процедуры до оптимизации и после. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2004, 16:35:48 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
To Victosha Замеры проводятся простые. Логика такова есть более мощный ПК PiV 2Gg и менее мощный P633 и сервер 2 проца по 933 + Oracle + сеть 100 мегабит. Есть приложение на Access которое использует курсор. Использую ODBC драйвер от Oracle Нужно оборудованием и настройками операционной системы увеличить производительность. Вот на этом простом примере я значимого прироста не замечаю в приложении Access, но замечаю в SQLPlus. Т.е. смена машины клиента практически ничего не дает для Access, но дает для SQL Plus. Такую же картину я наблюдал для 1С SQL которая работает с ODBC c Microsoft SQL Да в процессе обсуждения удалось заставить Access быстрее читать курсором данные путем оптимизации кода. Но почему на более мощной машине я не вижу хорошего (на 50%-100%) прироста? По идее проц быстро делает запрос отправляет серверу, периодически опрашивается очередь полученных данных, и как только они есть они забираются. Т.е. чем мощнее проц клиента тем короче промежуток на обработку данных. Глупый вопрос. Почему скорость копирования файлов с сервера в 50 раз выше сканирования таблицы? Понятно что способ извлечения информации разный. Но почему тогда более мощная машина не дает сокращения времени на выборку данных в случае Access ODBC но дает это в случае SQLPlus??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2004, 19:05:24 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
selis76To Victosha Замеры проводятся простые. Логика такова есть более мощный ПК PiV 2Gg и менее мощный P633 и сервер 2 проца по 933 + Oracle + сеть 100 мегабит. Есть приложение на Access которое использует курсор. Использую ODBC драйвер от Oracle ... По идее проц быстро делает запрос отправляет серверу, периодически опрашивается очередь полученных данных, и как только они есть они забираются. Т.е. чем мощнее проц клиента тем короче промежуток на обработку данных. Глупый вопрос. Почему скорость копирования файлов с сервера в 50 раз выше сканирования таблицы? ... Но почему тогда более мощная машина не дает сокращения времени на выборку данных в случае Access ODBC но дает это в случае SQLPlus??? Предварительно Я не знаю ответа на Ваш вопрос. Просто изложу свое представление. ------------ 1) ПРЕЖДЕ ВСЕГО НЕОБХОДИМО ПРИНЯТЬ ВО ВНИМАНИЕ, ЧТО SQL PLUS НЕ РАБОТАЕТ ЧЕРЕЗ ОДБС. (буду сильно удивлен, если это не так) Поэтому сравнение с ним не вполне корректно. ОДБС как правило работает медленнее. Просто потому, что с курсором работает существенно менее эффективно, прокручивая их построчно, да и заказывать норовит, как подозреваю глобальные курсоры. Подозреваю, что SQL Plus может обойтись с курсором более эффективно - как с потоком данных. 2) Рост производительности приложения работающего через ОДБС, вообще говоря не обязано быть таким же, как и у SQL Plus. Ниже я постараюсь высказать свое представление - почему. Вы замеряли, на сколько проц PIV 2 Gg быстрее чем проц P633 ? На сколько другие приложения (в частности офисные, и в любом случае без учета графических пакетов) считаются быстрее на 2Гц, чем на P633? Было бы несправделиво, если бы Акцесс ускорился больше, чем Ексель, например. Сильно сомнительно, чтобы офис (и прочие приложения) в среднем ускорились бы на вашем 2 Гц на столько же, на сколько ускорился SQl Plus. Применительно к сетевому обмену - На PIV - быстрее системная шина, и он гораздо с большей эффективностью использует (может использовать на специально для этого написанных задачах) 100 мб сетевую карту. Практически полностью выбирая ее производительность. Для P633 это по существу за рамками архитектуры - он просто не может толком нагрузить сетевую карту. При смене машинки, например, должно ускориться, например копирование файла по сети. SQL Plus должен ускориться примерно в той же пропорции, или больше. Ускорение SQL Plus легко объяснить - его ускорение в существенной степени предопределено прямизной обращения к сетевому уровню Оракл и эффективностью написания этого уровня. И выигрыш этот определен тем, что карта начинает работать. А считать на процессоре SQL Plus почти нечего в тот момент, кода он прием данных осуществляет. Акцесс работает через ДАО, которое транслирует его вызовы к ОДБС, оно транслирует к Оракловому драйверу, который уже начинает работать с сетевым уровнем Оракл. При этом Акцессу нужно еще исполнять код ВБА и еще малость чего пытаться делать. При таком подходе приложению НЕКОГДА к сетевой карте обращаться, ему бы успеть перемолотить весь код между Акцессом и Оракл.нет. Верхняя граница здесь проходит по линии производительность процессора-шины памяти-модулей памяти + задержки на перевод процессора в работу в режиме ядра при обращении к системным (в т.ч. сетевым функциям). +вероятные доп потери при наличии подкачки. (памяти хватает акцессу?) По этой верхней границе насколько PIV 2ГЦ быстрее? Само по себе использование ОДБС от Оракл - может быть не очень удачное в смысле именно производительности. ОДБС, вообще говоря, чуждая для Оракл технология, хотя и одна из самых быстрых среди "не родных". Может для смеху драйвер от MS попробовать? Хотя я еще раз посоветовал бы на АДО обратить внимание. Если у вас на входе файл, то, вслед за kedzo, повторю - все на сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2004, 20:46:56 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
То что сетевка полностью не выбирается это факт. 100000 байт\с 500000 байт\с это даже с накладными расходами на "технические данные в пакете" и задержку 0.96 мкс между кадрами мало. Если взять минимальную длину полезных данных в пакете 46 байт кажется, то уж 4 мегабайт полезных данных можно передать без проблем. Кстати с тогоже сервера во время работы Access я могу копировать файлы на скорости не меньше 5 мб\с Время переключения между thread может влиять, как я понимаю оно не учитывается в счетчике загрузки процессора (судя по описанию) и при частом переключении мы можем иметь незагруженный но большие тормоза. (Такое я наблюдал при работе через Ole) В общем попробую с таким курсором поработать через что нибудь компилируемое, например, delphi там будет видно. Сергей С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2004, 10:48:39 |
|
||
|
Access-ODBC душит производительность???
|
|||
|---|---|---|---|
|
#18+
"компиируемое" ускорит обработку полученного курсора - то есть формирование строки. В лучшем случае подберешся по скорости АДОШ-ному GetString по скорости собственно выборки значений полей, но вряд ли перегонишь. Все остальное останется без изменений. ------------- Блин - вот приходится какие-то окончания придумывать Какой-то витёк уже есть зарегистрированный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2004, 11:56:42 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32625819&tid=1672824]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 424ms |

| 0 / 0 |
