• Порекомендуйте варианты построения и оборудования для ЛВС в строящемся административно-складском здании 1500м2?

    @Akina
    Сетевой и системный админ, SQL-программист.
    • Выделение отдельного помещения для размещения внешнего ввода (Интернет и телефонные линии), кросса, серверов и активного оборудования. Металлическая дверь, кодовый замок.
    • Три линии питания - две для питания оборудования, причём запитанные от разных лучей, или хотя бы от разных фаз, плюс одна для питания кондиционера (минимум 7 кВт), плюс дежурное освещение.
    • Система пожаротушения - газовая, углекислота или фреон. Порошок - нафиг, случись что, всё оборудование можно выбрасывать и закупать новое. Воды быть не должно в принципе - даже просто проходящих через помещение труб.
    • Обязательно стойка (или стойки). Лотки, органайзеры, включая органайзеры электропитания.
    • Обязательно бесперебойники - причём время удержания должно быть минимум часа полтора, причём с учётом рабочей деградации батарей.
    • СКС разводится от розеток возле рабочих мест и до патч-панелей стойки витой парой 5 или 5е категории, чистой одножильной медью, многожилка или омеднённый алюминий ни в коем случае. Какие-то промежуточные и местные коммутаторы - забудь как страшный сон. Прокладка - по запотолочным металлическим лоткам, последний метр в коробе, монтаж на встраиваемые в короб розетки (для рабочих мест в центре комнаты - напольные короба и встраиваемые в пол розеточные блоки). Прокладка до внешних камер соответственно проводом для внешней прокладки, розетки во влагозащищённых распаечных коробках (по опыту - минимум 100х150). С розетками внутри не жадничать - на одно рабочее место минимум 2 розетки (локальная сеть, телефон), плюс дополнительные для сетевых принтеров и для точек доступа, ну и учесть, что сотрудники любят переставлять мебель самым идиотским образом. Судя по чертежам и описанию - будет штук 200 розеток.
    • Коммутаторы - управляемые как минимум L2+, PoE для подключения точек доступа, видеокамер и IP-телефонов, обычные для подключения компов и сетевых принтеров. Модель не сильно важна, но лучше сразу иметь дохрена резервных портов, чем потом докупать. Клиентские порты гигабит однозначно. Но я бы рекомендовал брать с хотя бы парой 10-гигабитных портов. Вендор по вкусу (лично я бы ставил D-Link).
    • Маршрутизатор - согласен с предыдущими товарищами насчёт Микротика вменяемой старшей модели.
    • Точки доступа - лучше сразу брать комплект для бесшовного покрытия всего здания. Насчёт количества, размещения и необходимости внешних антенн вместо встроенных ничего не скажу - это только по месту решается.


    Ну по минимуму где-то так.
    Ответ написан
    6 комментариев
  • Potsgres 13 - как реализовать систему Master-Master?

    Melkij
    @Melkij
    PostgreSQL DBA
    Никак.

    Если очень хотите головной боли и новых аварий по ночам вместо того чтобы спокойно спать - возьмите какой-нибудь autofailover типа patroni и прочих.

    Критичная проблема фундаментальна - CAP теорема в целом и последствия split brain в частности.
    Ответ написан
    Комментировать
  • Как настроить nginx под 800 запросов в секунду?

    @maxtm
    Make money, not job
    сейчас в какой то момент при серверном рендеринге некоторые запросы провисают и nginx рвет соединение в итоге часть запросов к сайту падает.


    Даже голый инстанс nginx тяжело убить всего-лишь 800 рпс. Пусть это даже будет одноядерное гамно.
    Мне кажется, думать о тюнинге самого nginx пока рано, по опыту - 4-5к рпс на 1 ноду nginx не создает никаких проблем для обычного 2х ядерного DO'шного сервака за 15$.

    Проблема не веб-сервера, проблема бэкенда, который стоит за ним.

    Соединение рвется с кем? То что с клиентом - понятно, какой ответ отдает nginx, наверное 504?
    Рвет соединение с клиентом он скорее всего потому-что бэкенд отвалился. Кто отваливается из бэка?
    Если с пыхой - ковырять пыху.
    Если с нодой - ноду.

    Обрывать соединения nginx может по ряду причин:
    - connection timeout при общении с бэкендом
    - обрыв соединения с бэкендом
    - некорректный (ошибочный) ответ бэкенда
    - туева хуча ошибок при общении с клиентом (это опускаем)

    Обо всем этом nginx успешно пишет в свои логи, посмотрите что там происходит.
    Также, сам пых и ноду можно настроить логи на отладку.
    У пыхи есть трейсинг слоу-логов, логирование каждого запроса и прочее.

    Маны и бубень в руки. Удачи!
    Ответ написан
    2 комментария
  • Как подсчитать стоимость сайта?

    @bacon
    Стоимость твоего времени, которое ты затратил на создание сайта.
    Ответ написан
    2 комментария
  • Используется ли пагинация в SQL запросах?

    Melkij
    @Melkij
    PostgreSQL DBA
    Хотите сделать пагинацию правильно - не используйте offset, а передавайте сведения сортировки последнего показанного поста.
    https://use-the-index-luke.com/sql/partial-results...
    https://use-the-index-luke.com/no-offset

    Наверняка видели, когда переходите на следующую страницу (например, лента постов отсортированная по времени публикации), вы вдруг видите те же самые записи что только что видели - просто потому что пока вы читали предыдущую страницу кто-то опубликовал новые посты и offset вас честно сдвинул.
    Ответ написан
    2 комментария
  • Используется ли пагинация в SQL запросах?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Как я делал на бекенде: передаётся номер страницы n. Так же у меня уже есть константа на количество записей на странице (допустим 10). Далее я делаю выборку от n * 10 элемента до (n + 1) * 10
    Ответ написан
    9 комментариев
  • Как перенести данные из одной таблицы в другую таблицу?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Вы пытаетесь перенести таблицу связанную внешним ключом с другой, данные которой ещё не перенесены.
    Поменяйте порядок переноса таблиц.
    Ответ написан
    Комментировать
  • Как в Ubuntu убрать слэш в конце виртуального хоста?

    @gro
    Этого не может быть, потому что не может быть никогда.
    В обоих случаях сервер получит "GET / HTTP/1.x"
    Может просто браузер слеш добавляет?
    Ответ написан
    4 комментария
  • Как в Ubuntu убрать слэш в конце виртуального хоста?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Первый слэш вы не уберете. Это связано с принятой нормализацией URL:
    tools.ietf.org/html/rfc3986#section-6.2.3
    А все последующие можно убрать.
    Ответ написан
    1 комментарий
  • Совмещение асинхронного и синхронного программирования - это плохо?

    longclaps
    @longclaps
    На пальцах - примерно так. Есть страны с правосторонним движением, есть с левосторонним. Нормально ездят и там, и сям. Но идея замутить страну, где на некоторых улицах ездят справа, а на других слева - так себе идея.
    Там, где синхронная и асинхронная парадигмы кода встречаются, возникают издержки на их стыковку. Обычно это выливается в асинхронные обёртки для синхронного кода. По неизбежности (например, при отсутствии асинхронного драйвера к бд) так и делают. Но идея так себе.
    Ответ написан
    Комментировать
  • Где работа с виртуальными рабочими столами, похожа на ту что была в Ubuntu с оболочкой Unity?

    @rPman
    kde
    поддержка виртуальных столов есть еще в xfce

    unity - это скорее всего результат саботажа конкурента, 'проникли' в стан разработчиков, заняли руководящие роли (тех кто принимает решение о направлении развития) и сломали все что только можно сломать
    Ответ написан
    Комментировать
  • Какие требования к физической репликации Postgresql 11?

    Melkij
    @Melkij
    PostgreSQL DBA
    major версия обязана совпадать, обязаны совпадать ряд флагов компиляции и некоторые настройки.

    с centos 7 на убунту 20.04 реплицировать можно, но вы гарантированно попадаете на изменение правил сортировки строк в libc: https://wiki.postgresql.org/wiki/Locale_data_changes
    Для переезда на другую ОС годится (подняли реплику, в нужный момент переключили на неё мастер и реиндексировали пострадавшие индексы), для долговременной работы уже не очень вариант.
    Ответ написан
    2 комментария
  • Как правильно сделать проверку Email?

    @mayton2019
    Bigdata Engineer
    Есть хорошая статья на эту тему https://habr.com/ru/post/175375/
    Ответ написан
    Комментировать
  • На ноутбуке не хватает места, 256 ГБ SDD. Лучшее решение для увеличения места?

    @Drno
    купи новый ssd на 1 тб
    клонируй на него систему
    купи бокс для старого ssd и юзай как флешку

    вот тебе лучшее решение
    Ответ написан
    Комментировать
  • Как задать название таблице переменной в postgresql python?

    Melkij
    @Melkij
    PostgreSQL DBA
    Привести схему данных в нормальную форму. (это термин)
    Затем удивительным образом пропадёт вся проблема как таковая.
    Ответ написан
    Комментировать
  • Можно ли добавить базу данных PostgreSQL перенеся папку "data/base/baseID" с другого сервера?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега PostgreSQL
    Седой и строгий
    Нет, каталог данных непереносим даже в пределах одной машины.
    Ответ написан
  • Есть ли разница в БД Postgres: хранить string(255) или string?

    Melkij
    @Melkij
    PostgreSQL DBA
    Для начала, в postgresql нет типа данных string. (а если это самодельный тип, что postgresql сделать тоже позволяет, то смотреть надо как он реализован у вас)

    Для текстовых данных в postgresql есть:
    - text. Просто text, без специфических ограничений на содержимое
    - varchar - это всё тот же самый text. К varchar можно добавить указание ограничения максимальной длины хранимого текста в символах. Почему это отдельный тип данных? Потому что такого требование стандарта SQL
    - char - фиксированный длины (в символах! в байтах они всё равно динамической длины получатся для того же utf8). Смысла его использовать в postgresql, как вы сами процитировали документацию, нет. Зачем он нужен? Потому что описан в стандарте.

    В отличии от, например, mysql, для postgresql нет ничего особого в значении 255. Если в определении таблицы видно такое ограничение на 255 символов - обычно это означает именно "никто не обдумывал цель такого ограничения для этого поля, просто какое-то число"

    Говоря о выборе между text или varchar(N) - varchar(N) с разумным для этих данных N предпочтительнее для коротких строк, потому что не даст записать 10мб туда где должно быть, например, не более 64 символов (это не совсем шутка, случай из практики). А по ошибке в месте записи дебажить логику приложения куда как проще, чем искать потом откуда такое взялось.
    Ответ написан
    2 комментария
  • Как сделать привязку по telegram id pyrogram?

    @bacon
    никак
    Ответ написан
    Комментировать
  • Как сделать резервную копию только связанных таблиц?

    @bacon
    явно указать все нужные таблицы, pg_dump --help
    Ответ написан
    Комментировать