danforth

danforth
Рейтинг
153
Регистрация
18.12.2015

Скиньте мне тоже линк, поклацкаю, разберусь может в чем нюанс.

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

Друзья, запустил свой сайт quasar.cc, сделанный на Vue.js + бекенд. Это что-то вроде небольшого примерчика, чтобы пользователи видели что примерно я могу делать. К слову, это SPA и я собираюсь проверить, как он индексируется гуглом.

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

Для тех, кому не срочно, освежу список того, что я делаю:

  • Интернет-магазины, сайты, блоги - в приоритете.
  • Парсеры
  • Автоматизация рутины

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

Дропшиппинг в большинстве случаев это днище.

  • Поставщики гоняют своих курьеров, чтобы те отправляли товары, вместо того чтобы выслать партию товара раз в неделю кому нужно, и заниматься более правильными вещами.
  • Товары от разных поставщиков едут отдельными посылками. Иногда клиент спрыгивает, когда узнает, что придется платить за доставку дважды. Иногда приходится оплачивать одну доставку, чтобы такого не было.
  • Если поставщик не надежный, может затягивать отправку, говорит что есть в наличии, а когда ты взял с клиента предоплату, выясняется что товара нет, и много других сюрпризов. Часто отправляет брак, после чего ты попадаешь между молотом и наковальней. С одной стороны, клиент говорит, что получил брак. С другой стороны, поставщик, которого не хочется терять, говорит, что отправил нормальный товар.
  • Полнейший ад с синхронизацией и остатками. Это чудо, если у кого-то есть API, XML, CSV файлик, да хоть что, лишь бы можно было синхронизировать остатки, или хотя бы их посмотреть. В большинстве случаев это пиши в вайбер, звони, факсом или ещё чем-нибудь.

Ящитаю, что дропшиппинг убивает электронную торговлю. Особенно, если не мониторить МРЦ, найдется куча скудоумных, которые за 2 рубля наценки будут гонять вашего курьера, сидя дома и принимая заказы в ВК. В итоге, страдают обычные магазины, которые закупают продукцию, держат на складе, своевременно отправляют, так как они не могут потягаться с ценой, которую дают дропшипперы, так как они лишены всех этих затрат.

Я был на стороне тех, кто является поставщиком, и предоставлял товары по дропшиппингу, а также был тем, кто работал с поставщиками по этой схеме. И ни то, ни другое сотрудничество, мне не понравилось. Хотя если выжить можно только таким способом, выбирать не приходится.

P.S. В Украине под дропшиппинг благоприятная почва: небольшая страна, быстрые и недорогие доставки из одного края страны в другой, а также небезызвестный prom.ua, благодаря которому каждый идиот может импортировать файл на 100500 тысяч товаров, и продавать дешевле чем вы, имея на руках только мобильный телефон.

Не знаю, было или нет))

Итак, рассказываю подробнее о всей эпопее:

Для начала сделал OPTIMIZE/ANALYZE TABLE, никаких результатов это не дало.

По совету коллег сделал составной индекс и STRAIGHT_JOIN, + добавил FORCE INDEX в нескольких местах. Это помогло ускорить запрос до почти сопоставимых результатов, и все бы ничего, если бы не...

Отвалился другой запрос. Сделал по аналогии, прописал FORCE INDEX по FK CONTSTRAINT, это тоже дало результаты, но стало интересно, в чем же все таки затык, и почему оптимизатор принимает неправильные решения.

В результате, решил попробовать накатить дамп с тестового сервера на боевой, и... это помогло. Не знаю в чем был косяк, но видимо почему-то статистика не давала оптимизатору принимать правильные решения.

Сейчас тоже наблюдаю интересную ситуацию:

Практически идентичный конфиг сервера на проде, и на локальном севрере (виртуалка): 2ГБ, 1 ядро.

Одна и та же версия MariaDB, с одинаковым конфигом.

Одна и та же база, одинаковое количество строк в таблице, все индексы одинаковые.

План выполнения совершенно разные, что в результате выливается в:

0.0001s - локалка

0.47s - прод.

Т.е., разница в 4700 раз.

Понравился пост из Сталингулаг в том-же Телеграм:

Просто любо-дорого смотреть на то, насколько эта застарелая серая пыль беспомощна перед новым открытым миром. Эти табельные лица, умеющие «порешать вопросики» только запретами, привыкшие, что силой они могут сломать любого, стоят в полной растерянности и не понимают: как же так, у нас столько военной и полицейской мощи, законы и суды полностью исполняют нашу волю, но какой-то молодой парень по фамилии Дуров объединяет вокруг себя миллионы активных, умных, озлобленных от ежедневного абсурда людей и вертит всю нашу государственность на ... под хохот мировой общественности. Мы являемся участниками великого события: огромный неповоротливый гигант замахнулся, оступился и летит ....ом в грязь, чтобы разбиться на мелкие кусочки. Бумажный самолётик оказался сильнее их стратегических бомбардировщиков. Потому что их бомбардировщики – это старость, разрушение и смерть, а наш бумажный самолётик – это будущее, свобода и жизнь!

https://t.me/stalin_gulag/666

Sly32:
ну и 1500 запросов в секунду с размером запроса в 350 БАЙТ - это что такое? 301 редирект стока отдает. Ниочем.

Если бы вы разули свои глаза, то увидели бы, что там 503 статус. Почитайте то, что я писал под пастой с бенчмарком. На бенчмарке моего блога, все ответы были с 200 статусом.

Sly32:
Простенький блог на ВП и Интернет-магазин на вукоммерсе давайте сравним? Сколько у вас запросов на странице и сколько вукоммерс создает?

Я показал, что ВП может работать быстро. То, что вы лепите на WP интернет-магазины, это ваши проблемы.

Sly32:
Комментируете то что я пишу - так хоть вникайте.

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

Sly32:
Nomiki, У нас 2-х ядерный Коре на ССД. Шаблон сами делали, максимально выпилив ненужное. Однако Вукоммерс... С ним ничего не поделаешь, нормальный магазин на нем жутко медленный. Про админ-аякс с его кривостью вообще молчу. Переписываем на свои контроллеры.
После этого на Джанге пишешь, так отдыхаешь)))

О, вернулся)) Что-то я аж заскучал без вас и ваших охренительных сравнений всего подряд vs джанга.

Вот например результаты нагрузочного тестирования моего мини-блога на WP:

Summary:

Total: 61.1485 secs
Slowest: 7.6650 secs
Fastest: 0.1717 secs
Average: 0.3459 secs
Requests/sec: 1423.7638

Response time histogram:
0.172 [1] |
0.921 [82998] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
1.670 [3843] |∎∎
2.420 [180] |
3.169 [15] |
3.918 [6] |
4.668 [11] |
5.417 [0] |
6.166 [0] |
6.916 [2] |
7.665 [5] |

Latency distribution:
10% in 0.2095 secs
25% in 0.2132 secs
50% in 0.2182 secs
75% in 0.3418 secs
90% in 0.8283 secs
95% in 0.8984 secs
99% in 1.4656 secs

Details (average, fastest, slowest):
DNS+dialup: 0.0008 secs, 0.0000 secs, 0.5104 secs
DNS-lookup: 0.0001 secs, 0.0000 secs, 0.0225 secs
req write: 0.0000 secs, 0.0000 secs, 0.0400 secs
resp wait: 0.3400 secs, 0.0495 secs, 7.6645 secs
resp read: 0.0002 secs, 0.0000 secs, 0.0405 secs

Status code distribution:
[200] 87061 responses

1423 запроса в секунду со статусом 200, не считая статики. Разве это медленно?

Вот, к слову, wpcute (простите за дудос)

Summary:

Total: 60.3390 secs
Slowest: 7.4293 secs
Fastest: 0.0385 secs
Average: 0.3225 secs
Requests/sec: 1545.7990
Total data: 34075572 bytes
Size/request: 365 bytes

Response time histogram:
0.039 [1] |
0.778 [92512] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
1.517 [429] |
2.256 [61] |
2.995 [268] |
3.734 [0] |
4.473 [0] |
5.212 [0] |
5.951 [0] |
6.690 [0] |
7.429 [1] |

Latency distribution:
10% in 0.2473 secs
25% in 0.2709 secs
50% in 0.3041 secs
75% in 0.3430 secs
90% in 0.3866 secs
95% in 0.4169 secs
99% in 0.7247 secs

Details (average, fastest, slowest):
DNS+dialup: 0.0024 secs, 0.0000 secs, 0.7574 secs
DNS-lookup: 0.0004 secs, 0.0000 secs, 0.0861 secs
req write: 0.0000 secs, 0.0000 secs, 0.0035 secs
resp wait: 0.3167 secs, 0.0380 secs, 6.7810 secs
resp read: 0.0001 secs, 0.0000 secs, 0.0045 secs

Status code distribution:
[503] 91601 responses
[200] 1671 responses

Но у них большая часть запросов отдавала 503 статус, так что не считается. На шареде так тонко не настроишь.

Всего: 1540