Comments 38
Киберпанк который мы заслужили)
Я бы не торопился так скоро о людях судить, не зная всей ситуации. Мы же не знаем системные требования госуслуг, может запрашивали N железа, а получили N/3. Да и вряд ли мы вообще с такими нагрузками как они сталкивались.
Однако то, что конкретные сервисы привели к проблемам у всего портала — звучит довольно прискорбно.
Пффф, полляма запросов не держат. Это что, нагрузка? Просто пэхэпэ нужно выкинуть, я думаю там оно.
Я правильно понимаю, что вы только что расписались в отсутствии у вас квалификации?
Вы не знаете как написать на пхп приложение, чтобы оно выдерживало 30млн хитов в сутки?
Знаю, купить несколько датацентров по всей стране. Да и странно вы считаете, квалифицированный вы наш. Я считаю рпс в секунду. На старом ноутбуке, моё простенькое приложение обрабатывает около полляма запросов в секунду. Да, это без логики, без запросов в базу. Но это старенький ноут. А теперь посчитайте в удавах, сколько это будет в сутки.
Простенькое, без кеширующего прокси и прочих ставших де-факто стандартных технологий, конечно.
Ну что ж, удачи вам писать веб-приложения на С через CGI
Я заметил что пэхэпэшники любят кеш)) Стандарт это сейчас кубер, с балансировками и прочей фигнёй. Да и нет проблем перед приложением поставить nginx прямо на баре метал, для статики. Это кстати golang либа fasthttp, приложение писалось пять минут. И весит к сожалению очень много 14 MB. Ладно, хорошего дня.
На старом ноутбуке, моё простенькое приложение обрабатывает около полляма запросов в секунду. Да, это без логики, без запросов в базу. Но это старенький ноут. А теперь посчитайте в удавах, сколько это будет в сутки.
Жаль что в крупные компании не берут особо работать админов локалхоста.... Они то понимают толк в highload.
Согласен, дорохонах, проще сотню пыхеров найти, с коммерческим опытом на лаварел)))
Тут недавно RT labs (разрабы госуслуг) отожгли с QR кодами.
Так, мне кажется, там уровень даже не админов локалхоста, а "сына маминой подруги", который учится на первом курсе.
Как бывший сотрудник одного из крупнейших операторов связи (и текущий разработчик информационной системы для большого банка), всегда недоуменно смотрю на госуслуги.
Ну так запросы в базу и есть основной источник ограничений. Если масштабировать слой PHP неограниченно — это приведёт лишь к перегрузке базы и отказе в обслуживании. А масштабировать базу данных не так-то просто.
Поэтому одну монолитную базу данных начинают пилить на более мелкие. Плюс, даже одна база данных вполне себе масштабируется различными кластерными ухищрениями, например, Oracle RAC. Для запросов, которые можно чуточку подождать - Oracle ADG. Ну и так далее.
Плюс кэши на всё, включая базу данных. Если мне память не изменяет, российский Tarantool вполне себе кэширует данные из РСУБД.
У ГИБДД к примеру постоянно проблемы с этим как и у налоговой.
Недавно переехали семьёй из города в деревню рядом с ним. Налоговая «потеряла» все платежи за последние три года у всех.
Надеюсь, вы понимаете, что где-то оплатил, где-то не оплатил, а где-то потеряли за 5 лет это не проблемы синхронизации внутри кластерного решения или БД, разбитой на несколько и связанной при помощи условных дблинков?
Такое происходит при независимых баз данных.
Плодить независимые базы без синхронизации чревато ещё большими проблемами, т.к. тогда у всех переезжающих в/на новое место жительство будут «теряться» оплаченные налоги. А так проблемы появляются у какого то процента населения.
wrk -c240 -t6 --rate 300000 http://127.0.0.1:9501
Running 10s test @ http://127.0.0.1:9501
6 threads and 240 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.73s 1.02s 3.66s 57.78%
Req/Sec -nan -nan 0.00 0.00%
1916644 requests in 10.00s, 305.25MB read
Requests/sec: 191647.65
Transfer/sec: 30.52MB
Но хайлоад он все же о другом. А не о простеньких наколеночных приложениях.
Код в студию.))
<?php
use Swoole\Http\Server;
use Swoole\Http\Request;
use Swoole\Http\Response;
$server = new Swoole\HTTP\Server("127.0.0.1", 9501);
$server->on("Start", function(Server $server)
{
echo "Swoole http server is started at http://127.0.0.1:9501\n";
});
$server->on("Request", function(Request $request, Response $response)
{
$response->header("Content-Type", "text/plain");
$response->end("Hello World\n");
});
$server->start();
Биллинг сотового оператора работает днем и ночью круглый год. Последние лет 10 - даже без падений на НГ.
Закладывать раз в 10 больше железа чтобы переживать нагрузки пару раз в год?
Реально конечно немного почаще. А тут совпало еще с указом о выплатах 10000р неполным семьям... форсированием вакцинаций...
Пример в США.
Но в теории, учитывая что заявки на выплаты/обжалования и т.п. идут не молниеностно, то такие вещи решаются через Message Queue.
Ну а на практике, учитывая что разрабам пришлось писать такую заглушку в виде «электронной очереди» и не удаётся решить заплаткой в виде N'цати виртуалок, то проблема масштабируемости серьёзная…
Ну а по поводу 10тыр., Сказочный уже не первый раз вертолётные деньги раздаёт через госуслуги, так что скорее всего проблема не в этом.
MQ там уже есть, называется СМЭВ, вот только как она-то и не масштабируется по воле разрабов госуслуг — ибо за неё отвечает совсем другая команда.
Ну а на практике, учитывая что разрабам пришлось писать такую заглушку в виде «электронной очереди» и не удаётся решить заплаткой в виде N'цати виртуалок, то проблема масштабируемости серьёзная…
С учетом единичности появления таковой - не все так страшно. По крайней мере на моей памяти в прессе таковое муссируется первый раз.
Кгхм... статья начинается с фразы "Долгое время". Подождем.
Напомнило:
P.S. А что, вставить картинку по ссылке в новом хабраредакторе тоже нельзя, только залить с компа?
Некоторые пользователи обходили таймер, меняя значения в исходном коде страницы.
Интересно, а в таком случае происходит увеличение времени ожидания тех, кто ждёт своей очереди? Ну чтоб совсем как по настоящему было, когда без очереди лезут)
setTimeout(30 minutes, () => showButton();
Очевидно, таймер сбрасывался после перезагрузки страницы, не привязывался к сессии.
Более того, у них появилось всего лишь 2 НОВЫХ сервиса, а доступ был ограничен ко ВСЕМУ порталу. Почему нельзя было поставить эту очередь только на 2 этих сервиса?
Это выглядит ровно вот так: «Мы ремонтируем крыльцо, поэтому зайти внутрь вы сможете только послезавтра. И хоть у нас все сотрудники на своих рабочих места, зайти внутрь получить справку вы не сможете, потому что крыльцо сломано. Ждите здесь — если уйдете, придется ждать до послезавтра заново. Но если очень хотите войти сейчас, там есть вход с другой стороны, можете зайти там, только мы я вам этого не говорил».
С одной стороны у них там масштабы растут так, как они сами несколько лет назад не могли спрогнозировать. И как результат — вылезают потребности вытащить и вставить заглушку.
В целом, я думаю там не всегда всё плохо, все-таки «Мои документы» относительно работают.
С другой стороны, у нас уже принято ожидать добра от гос сектора. И не зря. Я вот недавно видел вакансии на сис админов. 15-30к предлагают в гос секторе. А в одной конторе «Работа России» и вовсе публичные компьютеры в яндекс браузере хранят в памяти данные о большинстве зашедших туда пользователей, и при этом даже админские права никто не порезал. Добро пожаловать в треш.
Более дырявого ведра чем этот сайт я еще не видел. Кормушка для мошенников, и навязывание дюнаселению быть потенциально пострадавшими от них, подключив личный кабинет. Мошенники перепривязывают ЛК, меняют номер телефона и прочие данные под себя, далее берут кредиты от фио жертвы во всех возможных банках.
Причиной неполадок «Госуслуг» стали новые сервисы