@za_batel. Любая "телевизионная свистелка" с алиэкспресса на RK3188 стоимостью около 60 баксов, воткнутая HDMI`ем прямо в монитор или телевизор, выполнит то, что вы описали чуть более чем полностью :)
мой первый комп из этой области - Cubieboard 2 на не самом гоночном двухядерном AlLWinner, до тех пор пока не стал вебсервером, делал все вышеописанное. (скажу честно - один гиг памяти это мало, берите с двумя).
@VitaZheltyakov Ок. спасибо за ваше мнение.
Согласен, что фрэймсет создает лишний запрос, причем не просто лишний, а скажем так "блокирующий". То есть, фрэймсет всегда должен грузиться первым, и пока он не загрузится и не обработается браузером, дальше ничего происходить не будет.
Насчет двух секунд.. тут можно спорить до бесконечности (а можно не спорить)...
Лично я, на своем хостинге запросов длиннее 150мс (на статику, конечно) не видел уже давно. 150мс это по "хром дев тулс" с момента инициализации до "Dom Ready" несложной html странички.
Резюмирую: одну убедительную причину, я с вашей помощью, выяснил.
Вы про то, что сначала надо стащить каркас с фрэймсетом, а потом страницы его наполняющие?
Две секунды?
Учитывая, что каркас весит ну никак не больше килобайта, и стягивается один раз за все посещение сайта.
Скрипт, реализующий, статический футер будет весить не меньше, и создаст тот же самый лишний запрос только на каждой странице (пусть и 304).
@VGBoy вы пишете "Я понимаю, что если добавлять одну статью, то нет никаких проблем. В Dreamveaver добавил, сделал на нее ссылку и всё. "
Дело в том, что неважно одна статья или стопицот, добавлять вы их будете по одной (если вы конечно не уммеете одновременно левой и правой рукой писать на двух компьютерах две статьи).
Соответственно чтобы сделать сто статей вам надо просто сто раз нажать в "дримвьювере кнопочку". ИЛИ вы можете написать на любом языке программирования программу, которая будет "нажимать кнопочку", но тогда вам придется сто раз запустить эту программу.
CMS (Content Management System) нужна не для того, чтобы быстрее нажимать кнопочку, а для того, чтобы хранить ваш контент (статьи) в порядке, и выдавать его читателям по определенным правилам.
Когда то, когда деревья были выше, а php был в верии 3, каждый вебпрограммист должен был написать для своего сайта "гостевую книгу".
Это были прородители современных блогов.
Возьмите в гугле текст программы любой из старых гостевых книг (они обычно не превышают двадцати строк несложного кода) и увидите как это делается. поймете логику. :)
понятно, в этом случае, если не хотите (или по каким то причинам не можете) написать недостающий функционал, просто дождитесь пока подскажут плугин к jquery который умеет и то и другое. Плугинов, естественно, милллион, наверняка уже есть что то готовое. (я, к сожалению, такого не знаю)
а как бы вы это реализовали на языке, на котором у вас стаж? думаю, на пхп это будет абсолютно так же.
Вариантов запустить самого себя по событию тоже немало (в пхп даже есть такая неоднозначная вещь как register_shutdown_function(); )
но по хорошему, если делаете всерьез и на долго, и еще есть время, разделите отображение от получения.
если я правильно поимаю логику.
1. получили xml, распарсили его
2. в цикле тащим информацию о товаре и преобразуем его в вид (к сожалению, не известного мне плагина WP) все это делаем с сохранением состояния
3. картинки я бы тащил отдельным краулером, (там же насколько я понимаю, обработки никакой нет? тупо получили на вход пачку ссылок, стащили по ссылкам пачку картинок и записали их в ФС а ссылки на них в БД.
и еще момент, если уж ставите set_time_limit(), тогда уж и ставьте ignore_user_abort(); но имейте в виду, что если скрипт начнет делать "что то не то", остановить его вы сможете только рестартом апача (если пхп работает как его модуль) ну или прибив процесс в шелле
все зависит от вас. :) можно оставить вообще все в одном скрипте, и просто условиями реализовать алгоритм, при котором пока нужные части не отработают, ненужные не запускались вообще.
Я бы, все таки отделил "скрытую работу" такую как краулинг, парсинг от работы по отображению.
если у вас все реализовано отдельными функциями, наверняка можно либо разнести функции по отдельным файлам, либо, как я выше написал - оставить все в одном, но изменить логику вызова этих функций.
очень осторожно нужно относиться к запуску пхп скриптов из консоли... особенно к способу их запуска и юзеру от которого они запускаются... (это лично мое мнение)
@eprivalov раз вы запустили mc значит вы загрузили систему и вошли в нее. если у вас корень смонтирован ридонли - это явно вы загрузились в эмёрдженси режиме.
выходов масса - самый простой - сделать дамп на другое устройство. можно перемонтировать корень в rw.
а вообще скажите startX и посмотрите с какой ошибкой он вывалится. ошибку - сюда
22МЛН записей в полгиговой таблице? 25 байт данных в записи? опять же, не зная структуры данных и структуры запросов советовать что либо трудно, но мне кажется вам нужно что то из NoSql решений, или хотя бы HandlerSocket к Mysql. эти плюшки позволяют простые выборки по ключам делать с очень высокой скоростью и с очень небольшими накладными расходами.
"копирование бд и измениие движка заняло уйму времени - так и не дождался" - это каких размеров у вас база?
по поводу бенчмарков, я увы, не помогу, не делал я их.
у меня время выполнения запросов на реальном вебе - 2-20мс и пока оно так - я туда не полезу, ибо лень - двигатель прогресса :) но мои проекты - это не хайлоад :)
в лог медленных запросов у меня попадают запросы длиннее 200мс (и он девственно чист)
@Lerg Вы не поверите, но весь первый абзац вашего ответа я написал слово в слово, потом правда стер. Вы совершенно точно определяете что такое лог, и что журнал в английском языке - это несколько другой термин.
с аккордом вы конечно мимо щей :) но попытка великолепная.
да и спорить я с вами не собирался, потому что в ключевых то вещах у нас с вами нет противоречий.
И я согласен, что те, кому автор вопроса собирается объяснить что такое лог, в последствии тоже будут эот термин использовать, но объяснить то как то надо.
а вообще - если у вас статичный набор данных, но очень хочется работать с ними по реляционной модели - выберите движок memory - вот тут вообще огонь будет а не производительность.
мой первый комп из этой области - Cubieboard 2 на не самом гоночном двухядерном AlLWinner, до тех пор пока не стал вебсервером, делал все вышеописанное. (скажу честно - один гиг памяти это мало, берите с двумя).