Оптимизация админки
Posted: Wed Nov 13, 2013 8:29 am
Всем доброго дня!
offtopic: очень давно использую SmartCJ (еще со времен популярности незабвенных TM, ATX, ATS Pro, Proton etc.), но почему-то постоянно доставал Lemon'a своими идеями напрямую. Не прошло и года - решил исправиться
СУТЬ: момент по улучшению админки, который легко реализуем. Косметика, но важная, как мне думается. Суть в том, что есть опция "авторефреш", которая по таймеру рефрешит Всю админку, что вызывает не совсем приятное моргание экрана + нагружает сервер каждый рефреш для пересчета показателей. А что если сделать следующим образом:
в папке admin создать папку static, куда будет генериться файло по крону при плановом пересчете показателей (если опция авторефреш установлена). Параллельно пересчету. Вот например "List trades". Самое главное там - основная табличка, вот и генерить туда tbl_active.html вида "<table>...</table>", а jquery по таймеру будет делать $( "#tbl_active" ).load( "static/tbl_active.html" );
Можно еще и таймер вывести например в скобочках рядом со временем вполовину светлее, чтобы не напрягал + снабдить это каким-нить нежным fadein/out. Но это уже так - изврат
ПЛЮСЫ: Таким образом будет визуально приятнее + не будет нагружать сервак пересчетом дополнительным + обновлять таблицу будет только в случае, если статический html обновился (насколько мне известно, jquery проверяет дату последнего изменения документа). И самое главное - данные для отображения в админке все равно не изменяются чаще отработки крона, не так ли? Соответственно можно саму админку собирать инклудами php'шными. Что обеспечит МОЛНИЕНОСНОЕ отображение админки (у кого еще и nginx прикручен - совсем фарш будет
с актуальными данными. Главное не забыть, что при редактировании, допустим, описания трейдера, тоже можно вызвать регенерацию соответствующего html, либо всех, если лень заморачиваться. Сама реализация требует минимальных изменений скрипта, как мне кажется, а эффект от наконец-то "скользко" работающей админки будет колоссальный.
МИНУСЫ: нагрузка на сервер при записи статических кусочков админки, когда человек не смотрит оную. Не думаю, что запись 10-20 файлов (это если обновлять еще и графики в других табличках например) хоть как-то перегрузит сервер, ведь пересчет все равно происходит - можно параллельно после апдейта базы и записать статику. Пересчет админки при рефреше грузит ту же дисковую систему значительно больше imho.
Что скажете?
offtopic: очень давно использую SmartCJ (еще со времен популярности незабвенных TM, ATX, ATS Pro, Proton etc.), но почему-то постоянно доставал Lemon'a своими идеями напрямую. Не прошло и года - решил исправиться
СУТЬ: момент по улучшению админки, который легко реализуем. Косметика, но важная, как мне думается. Суть в том, что есть опция "авторефреш", которая по таймеру рефрешит Всю админку, что вызывает не совсем приятное моргание экрана + нагружает сервер каждый рефреш для пересчета показателей. А что если сделать следующим образом:
в папке admin создать папку static, куда будет генериться файло по крону при плановом пересчете показателей (если опция авторефреш установлена). Параллельно пересчету. Вот например "List trades". Самое главное там - основная табличка, вот и генерить туда tbl_active.html вида "<table>...</table>", а jquery по таймеру будет делать $( "#tbl_active" ).load( "static/tbl_active.html" );
Можно еще и таймер вывести например в скобочках рядом со временем вполовину светлее, чтобы не напрягал + снабдить это каким-нить нежным fadein/out. Но это уже так - изврат
ПЛЮСЫ: Таким образом будет визуально приятнее + не будет нагружать сервак пересчетом дополнительным + обновлять таблицу будет только в случае, если статический html обновился (насколько мне известно, jquery проверяет дату последнего изменения документа). И самое главное - данные для отображения в админке все равно не изменяются чаще отработки крона, не так ли? Соответственно можно саму админку собирать инклудами php'шными. Что обеспечит МОЛНИЕНОСНОЕ отображение админки (у кого еще и nginx прикручен - совсем фарш будет
МИНУСЫ: нагрузка на сервер при записи статических кусочков админки, когда человек не смотрит оную. Не думаю, что запись 10-20 файлов (это если обновлять еще и графики в других табличках например) хоть как-то перегрузит сервер, ведь пересчет все равно происходит - можно параллельно после апдейта базы и записать статику. Пересчет админки при рефреше грузит ту же дисковую систему значительно больше imho.
Что скажете?