edogs software

edogs software
Рейтинг
775
Регистрация
15.12.2005
Должность
Программирование
dimas333:
edogs советы с редиректами, хаками и прочими перенаправлениями - это очень плохие советы.

Это хорошие, практические советы не раз спасшие отнюдь не один реальный сайт:) При чем без покупки "крутого дорогого сервера" и без "тонкой дорогой работы по настройке ФС системным администратором".

dimas333:
Сами подумайте, что быстрее: отыскать файл в таблице и это на уровне ядра или распарсить регулярку, сопоставить и потом опять отыскать файл?

Регулярки выполняются настолько быстро по сравнению с дисковыми операциями, что даже странно поднимать об этом вопрос.

Плюс ТС все равно надо думать о физическом разнесении этой файлопомойки по разным местам (хотя бы из соображений нагрузки/быстродействия от простого считывания файлов и возможности более легких бакапов). "Регулярки/кэширование/редиректы" (3,4 вариант) как раз позволят это сделать с минимумом вмешательством в архитектуру (раз уж это важно, хотя самое мудрое это изменить архитектуру), позволяя разнести это не только по папкам, а вообще по разным серверам.

phenomena:
Любопытен такой вопрос, можно сказать задача:

1.Файловая система ext3. В одной папке лежат 100`000 файлов (картинки, каждая до 25 килобайт).
2.При открытии любой страницы сайта загружаются любые 10 штук картинок из этой папки.
3.Страницы сайта открывают одновременно 100 человек.

Как повлияет такое количество файлов в одной папке и режим такой работы на сервер? Что такое эффективность кеширования файловой системы? Что будет с жестким диском, будет ли повышенный износ? Что произойдет, если количество файлов будет 500`000? 1`000`000?

Буду рад для самообразования получить не только ваши ответы, но и ссылки на литературу.

Если свой сервер, то на крайний случай всегда есть brute force в виде создания ram диска и монтирования его куда положено. При Ваших текущих 100к файлах по 25кб будет достаточно 3гб. Будет летать.

Второй вариант, опять же при своем сервере, это ext4. Тут можем ошибаться, но нам впаривали что у нее нет такой проблемы с количеством файлов в каталоге, как у ext3. Опять же, можно сделать том в ней и примонтировать как надо.

Третий вариант, это все же решить на уровне хотя бы .htaccess и раскладывания файлов по каталогам. Никто не мешает a*.jpg редиректнуть на /home/img/a/, а b*.jpg редиректнуть на /home/images/b. Минимум вмешательства в архитектуру (по сути и не вмешательство вообще), но в результате разнесение файлов физически по разным местам.

Четвертый вариант, он вообще контекстно-зависим, но в принципе никто не мешает допилить хак, который урлы картинок отдаваемых пользователю с http://site.ru/images/a*.jpg будет переписывать на http://a.site.ru/images/a*.jpg например (по сути вариант 3, только на более высоком уровне), тогда Вы эти картинки можете вообще по разным независимым серверам раскидать.

При чем в 3 и 4 варианте можно практически полностью сохранить внутреннею архитектуру, если перед редиректом/сменой урла проверять наличие картинки на новом месте, а картинки в новое место перекладывать неспешно, по крону например. Для облегчения нагрузки результаты проверки наличия картинки в новом месте можно куда-то запоминать (подойдет крошечный мемори кэш вида "адрес картинки" - "реальное хранилово").

p.s.: пятый вариант: врячить ссд:)

Самое простое.


ALTER IGNORE TABLE `jos_adsmanager_ads` ADD UNIQUE TMPX ( `ad_text` , `ad_headline` );
ALTER TABLE `jos_adsmanager_ads` DROP INDEX `TMPX` ;

Смысл - вешается уникальный индекс, соответственно в таблице могут быть только уникальные пары ad_text/ad_headline. ignore - позволяет проигнорировать лишние дубли в "новой" таблице с индексом. потом индекс удаляется - остается только 1 запись.

Если хотите чисто на php решение, то все тоже достаточно просто. В общих чертах так

select distinct(id), ad_text, ad_headline from jos_adsmanager_ads group by ad_text,ad_headline - выбираете по одному уникальному ид из таблицы для каждой группы ad_text/ad_headline

потом в цикле делаете нечто вроде

$sql="delete from jos_adsmanager_ads where id<>'.$row['id'].' and ad_text='.mysql_real_escape_string($row['ad_text'].... ну и так далее.

То есть удаляете записи с тем же текстом и заголовком объявления, но имеющими другие ИД - то есть дублями.

4996699:
c вебмани договорился какой то чел из Доминиканы.
Теперь на https://debt.wmtransfer.com можно получить лимит автоматом

Документально все оформляется через обычный стандартный debt.wmtransfer.com , точно так же как и при взятии кредита у кучи других кредитующих кредиторов.

7910:
На других форумах пишут, что по этому предложению не все чисто.
В соглашении указана одна сумма к погашению, а при акцепте в PAYMER выставляют обязательство в два раза больше с правом требования с сегодняшнего дня.

Это всегда и у всех так по дебту. Несмотря на это - никаких проблем не возникает, по крайней мере если не превращать обязательство в чек (после чего взыскать уже можно только в оффлайне, да и чек вроде оформить нельзя пока кредит не просрочен). При чем в договоре все равно указывается правильная сумма, так что крайне вряд ли что это приведет к каким-то проблемам.

4996699:
интересно скоро мошенники обуют сервис и он поменяет ставки?
selby911:
Я получил лимит 108 wmz под 4.521% в месяц. Максимум на 45 дней.
В принципе если бы сумма была побольше, то это лучшее предложение в рунете.

Если нет долгов по лимитам и бирже, то в общем на небольшие суммы вполне адекватный процент, если использовать хотя бы минимальный скоринг заемщиков. Из-за 100 баксов осознанно терять аттестат с бл 100 смысла особого нет никому. Любопытно было бы посмотреть какое предложение сервис сделает заемщику с долгом допустим 10,000 уже.

Плюс крупные кредитные сервисы нередко возвращают часть процентов при досрочном возврате, здесь такое вряд ли будет возможно.

Максимальная сумма: 300.00 WMZ
Максимальный период: 180 дней
Проц. ставка: 0.085 % в день
С выплатой: в конце срока
Статус: открыт

Та же фигня. По проценту и сроку уже похоже на минималку, интересно возможно ли на автомате получить сумму больше.

Как безумный, дичайший, но вероятный вариант:)

Проверку переменной Вы производите как $work, а не как $_GET['work'] и при этом у Вас в опере зачем-то когда-то установлена печенька (cookie) с именем work и пустым значением. Поэтому когда php все пихает в глобальные, то согласно правилу GPC (get/post/cookie) - последний переменной в work оказывается $_COOKIE['work'].

В любом случае сделайте в скрипте print_r($_GET); и покажите результат здесь. Сомнительно что переменная правда не передается.

smart1k:
Благодарю. Можно поподробнее по "третьему" варианту. Я заранее не знаю по каким параметрам будет выборка т.к. это пользовательский запрос.
Как это реализовать?

Если данные у Вас как Вы написали, т.е. 100,000 товаров и всего 6 свойств (исходя из структуры 2 таблицы), то даже все свойства не будут проблемой на Вашем конфиге. Особенно учитывая что больше половины свойств у Вас битовые. Размер таблицы будет крошечный и проблемы представлять не будет.

А если говорить в общем обычно юзер не может искать по абсолютно всем параметрам, в поисковую форму выводят ограниченное количество - вот по ним и делают поисковую таблицу.

По поводу всех остальных ситуаций абстрактно не ответить, нужно смотреть на статистику товаров, их типы, важность параметров и т.д..

Евген:
кстати еще неплохо бы чтоб на тае на 3 месяца стало -20 - посмотрим на что годятся их фундаменты и бетон (если там конечно бетон).

в идеале что бы это случилось сразу после наводнения и сверху шлифануть ураганом и землятрясением, для полной реальности ситуации! А то че это они на экваторе дома на -40 не расчитывают, а?!

Select appID FROM `table` WHERE (optionID = 1 AND optionValue IN(1,2,3)) AND (optionID = 2 AND optionValue IN(1,2,3)) AND (optionID = 3 AND optionValue IN(1,2,3));

Хотите выбрать товар у которого будут 3 свойства с заданными значениями? Это вряд ли сработает, ведь where работает по строке. optionID у Вас не может быть 1 ... and 2... and 3 в одной строке

А если Вы поставите optionid=1 ... or optionid=2 ... , то сделаете выборку в которой будет хоть одно свойство, но не обязательно будут другие.

В принципе это решаемо подзапросами... но Вы все равно огребете проблему, когда захотите добавить в выборку запросы вида "цвет не красный".

И в целом этот вариант будет не только сложноватый, но и как следствие тормозной неслабо.

Второй вариант лучше и по скорости и по простоте, особенно если параметров не сильно много. Правда вместо bit лучше использовать enum или set (при чем set поможет упаковать даже много параметров, если они все околобитового значения).

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

p.s.: кстати известные тормоза битрикса не в последнюю очередь из-за использования "по умолчанию" первого варианта структуры, что они попытались исправить "инфоблоками 2.0", правда не особо удачно.

sear4er:
Интересно кто подписался на такие условия ... 432 бакса за пол года - это очень много!

Вообще-то 4% в месяц, 432-то на 1800. Если забыть о том, что у ТС черт знает что на лимитах происходит (он же даже общий долг "стесняется" открыть), это по нижнему краю кредитования на бирже, почти фантастично, но все же реально.

proweb.com.ua:
Vitkus, пожалуйста, не нужно говорить за всех.
Спасибо за Ваше личное мнение!

Он просто сказал то, что всем остальным говорить лениво. Последний кто тщательно скрывал долги по дебту это был мхост, до него... да тоже такого же плана кадры были. Поздравляем Вас с "вступлением в клуб".

p.s.: более того, proweb.com.ua еще и в "непонимающего" играет. В ответ на фразу про долг по лимитам доверия, изображает что не понял о чем речь и отвечает про долг на бирже 😂

p.p.s.: и даже более того, упорствует в отрицании! в ответ на фразу про долг по лимитам доверия, изображает что не понял о чем речь и отвечает про открытые сейчас лимиты доверия, а не про долг

LEOnidUKG, у нас уже есть острое ощущение, что у Вас диски на сервере накрываются или типа того.

На нормальном сервере с теми настройками и данными что Вы привели - время запроса по 6.7 секунд - чисто фантастика и абсолютно не норма. Или может у Вас триггеры какие-то на этих таблицах висят там... Ради интереса сделали аналогичные выборки у себя на полудохлом вдс от хетзнера за 10 баксов, все запросы укладываются в 1 секунду, те что у Вас по 4-5 на выделенном крутом серваке.

Всего: 12159