Задать вопрос
  • Какую конфигурацию жестких дисков подобрать для сервера?

    АртемЪ, 200 грамм - это много или достаточно? Может всё-таки 250 граммов? Но правда это дороговато. Поэтому вдруг 180 грамм будет в самый раз. Ну и пара бушулей к ним в довесок.
    Так со стороны выглядит твой вопрос.
    Ты собираешься работать с центос. Ты в курсе, что у него дисковый планировщик умолчальный заточен под обыкновенные диски? Чтобы получить полноценную поддержку ssd надо внести изменения в настойки systemd, загрузчика и файла fstab.
    Другой вопрос - какая база данных будет на виртуалках. Постгрес? Так сами разработчики на конференциях и в документации советуют держать её на обыкновенных дисках, лишь небольшую часть (кэш) можно на твердотелы. Она заточена архитектурно под обыкновенные диски. С мускулом тоже есть нюансы.
    30 пользователей - это уже не к дискам, а к сети. У тебя асимметричная схема. Какая физическая и логическая топологии. Какая реальная полоса пропускания в среднем между клиентом и сервером? Какие и какого рода потери? Есть ли приоритезация трафика? Что в качестве активного сетевого оборудования? Говно-link-и с надписью 1GB/s на боку? Так они эту цифру выдадут только для icmp и строго на одном порту выдадут притом не на долго.
    Арифметика простая 1000/(30*1,1)=30 [Мб/с]. Итого - 30 мегабит в секунду средние показатели сетевой доступности. Да будут определённые перекосы в ту или иную сторону. Только если где-то прибудет, обязательно где-то убудет. Поэтому дисковая подсистема не особенно критична.
    Вот поэтому и не только на этом ресурсе сразу посылают к телепатам. Хотя могут и лесом слать.
  • Как развернуть OSRM на сервере?

    Все-таким 2.6.32 - весьма почтенное, хоть и работоспособное ведро
    Не стоит вестись не номер ядра в RH и иже с ним. Нумерация ради соблюдения legacy и про реальное положение дел не говорит. Там довольно много бэкпортированного свежака. Протестированного, нормального, работоспособного свежака.
  • Какую выбрать БД?

    sim3x,
    Приведите пример других опенсорсов
    Firebird

    Какой именно noSQL требуется
    Не знаю. Их много всяких.
  • Какую выбрать БД?

    PostrgreSQL интенсивно работает с диском /со слов разработчиков и по личному опыту/, а у топикстартера как раз диски не выдерживают нагрузки.

    единственная опенсорсная субд
    даже если уточнить что РСУБД, то далеко не единственная. Другой момент, может быть, если хорошо подумать топикстартеру, ему реляционная база не нужна и подойдёт noSQL.
  • Оптимизация mysql. Какие рекомендации mysqltuner стоит применить?

    Вообще-то тут у вас дело больше не в настройках мускула, а с самой базой данных и вашими запросами!
    Золотые слова!
  • Как оптимизировать MySQL под 6-8гб ОП?

    это не очень верный ответ, т.к. неизвестно какие типы движков используются. если не используется MyISAM то нет смысла ему выделять память, и наоборот.
    Можешь это ребзям из Перконы рассказать. Это их рук дело. Они вроде как спецы, поэтому даже не протестую, когда работаю с их планировщиком конфигов.

    innodb-buffer-pool-size над делать под размер базы или чуть с запасом на вырост - цель чтобы mysql мог держать всю базу в памяти, если памяти больше чем размер базы.
    А операционка всё до последнего аллоцирует, ничего не зажмёт, не посчитает, что вот этот файл из /var/lib/mysql/..., к которому давно не было обращений, пусть полежит на диске?

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

    250 коннектов тоже непонятно почему столько? каждый коннект жрет память под буфера, если реально максимум до десятка соединений то такой запас не нужен.
    процессы php-fpm на скрине указывают, что это всё-таки вэб-проект. Есть мнение, что сервер проектировался минимум под 10 одновременных подключений в секунду, и совсем только не 10 уникальных адресов. Поэтому 250 может быть ещё маловато.

    А если выделить памяти больше, чем ее есть физически можно доиграться до OOM killer
    В случае, если обладатель сервера не самодур, знает и помнит про так называемые грязные и анонимные страницы памяти, а также про механизм свопирования, когда операционная система сбрасывает на диск давно не используемые страницы памяти, то он наверное создаст во время разбиения раздел подкачки или даже выделит под него отдельный быстрый диск. Да и ООМК не так уже плох, чем решение ОСи замораживать процессы при нехватке ресурсов.

    mysql прекратит принимать часть коннектов
    Здесь очень важным момент - коннекты изначально принимает и обрабатывает операционная система, её планировщики (сетевой, дисковый, ОЗУ) подготавливают, обрабатывают и закрывают взаимодействия с той или иной периферией, сеть и файловая система держат свои буфера в оперативной памяти и лишь потом приложение, которое принимает коннекты. Помимо прочего там могут быть и другие приложения, всякие вэб сервера и аппликухи, которые тоже памяти хотят. На скрине вот целых два php-fpm (7.2 и 7.1), не исключено, что и nginx там болтается, также BIND виден. Поэтому не известно, что раньше может прекратить принимать соединения.

    А теперь внимание на скрин от топикстартера: виртуальная память потребляемая мускулом - 1,5 ГБ, резидентная 145 МБ и больше 30 процессов мускула - все в топе. Процесс - это заявка ОСи на выделение определённых ресурсов, но и процессорного времени. Что у него там с процессором? Сколько ядер и каких?
    По опыту знаю, что мускул любит потреблять ресурсы процессора. Памяти ему выделаешь хоть завались, а он всё равно процессор грузит.
    Последний и важный момент - сами запросы. Что там? SELECT * FROM very_big_table, куча вложенных подзапросов, или двойное соединение, индексы для слабаков? А то может быть наши советы совсем не нужны, если с запросами порядок навести.
  • Как грамотно модернизировать сеть на предприятии?

    Делайте своё дело, которое умеете и за что платят деньги.
    А модернизацией этой т.н. "сети" за 20 т.р. пусть занимается тот, кто определил такой бюджет.
    Это самый замечательный ответ. Пусть голова болит у того кто определяет такие планы за такой бюджет.
  • Законно ли сейчас использование OpenVPN в организации?

    На сколько я знаю, использование криптографических алгоритмов не сертифицированных ФСБ запрещено в РФ, кроме варианта встроенных в ПО или железо алгоритмов.
    Можно заюзать отечественные алгоритмы. Они дают очень достойное шифрование.
    Если уж припрёт быть всё по закону, можно пойти в УЦ и прикупить пару или сколько там токенов для поднятия тоннеля. Далее регистрация на КриптоПро, стягивание и установка нужного ПО.
  • Как подружить тупой switch и управляемый L2?

    Вячеслав, Замечательный коммутатор. Но он может согласовано работать (STP, VLAN, IVR) только с управляемым (можно другого вендора) коммутатором.
  • Как подружить тупой switch и управляемый L2?

    Вячеслав, обычно большая часть ответа лежит в самом вопросе, если он не риторический. Есть коммутатор, который тупо перемалывает пакеты на канальном уровне и никакого влияния на трафик, кроме потерь и задержек не оказывает. Управлять им можно разве что по питанию.
    Есть другой коммутатор, который может в зависимости от настроек оказывать влияние на трафик. А теперь твой вопрос...
  • Как лучше организовать отказоустойчивость linux сервера двумя свичами?

    sim3x, ещё как дохнут. Молния рядышком шарахнет, потом ходишь сгоревшие порты ищешь и меняешь. Иногда после обновления никак не могут очухаться.
  • Какую OC выбрать под хайлоад проект? (Ubuntu/Debian/FreeBSD)?

    Разве Debian не "ляжет" под пиковой нагрузкой в 100к юзеров в месяц?
    Очень и очень многое не зависит от ОС. Оборудование, твои приложения, настройки - это вне зависимости от выбранной ОС может оказывать существенное влияние на производительность.

    К слову, забыл спросить, какой нужен канал для этого, 100mb/s хватит или гигабит нужен?
    100к юзеров в день это приблизительно 1.2 запроса в секунду. Для такого "интенсива" хватит 10mb/s и w2003 сервера на скромном железе.
  • Правильно я редактирую политику selinux?

    avp dnepr, Хорошие правила. Можно немного менять на своё усмотрение.
  • Проверка реальности железа клиента зашедшего на сайт даже если потом заходит через эмулятор машины?

    odox, наблюдал хороший реферальный спам без всяких анонимайзеров, проксей и виртуалок. С реальных белых адресов.
  • Проверка реальности железа клиента зашедшего на сайт даже если потом заходит через эмулятор машины?

    Konstantin Abaiev, Для меня не совсем понятна технология сокрытия адреса через виртуалку. Вот есть системник, на нём подняли кучу виртуалок - несметное количество. На гипервизоре (системник )поднят NAT, чтобы их адрес отличался от адреса гипервизора. Дальше что? Выходит этот деятель через сетку провайдера через его NAT. На стороне сервера будет фиксироваться внешний адрес шлюза провайдера. Там даже не будет адреса системника. А адресов виртуалок подавно.

    Сайт(белый ip1)<->Внешний интерфейс шлюза провайдера(белый ip2)-NAT- Внутрений интерфейс шлюза провайдера(серый ip1)<->Системник(серый ip2)-NAT-Виртуалка(серый ip3)
    /упрощённый вариант без wi-fi роутера от провайдера/

    Единственный вариант как приложение на сайте может узнать серый ip3, об этом расскажет браузер. Если так, не вижу причины городить болото с кучей виртуалок, адрес можно без проблем менять на самом системнике, особенно, когда он стоит за вафлей провайдера.
  • Как правильно распределять трафик на сервера?

    С одного клиента может идти от 7 до 200 пакетов в секунду. Система рассчитывается на онлайн в 10к юзеров. То есть получается до 2.000.000 pps.
    200×10000×8×1500 = 24000000000 бит/с. Или 24 Гбит/с для пакета ТСР. Это очень хорошо и круто.

    Просто здравый смысл подсказывает что Java программа не выдержит и ляжет.
    Не кастомизированное ядро Linux при нормальных сетевых картах выдаёт порядка 300'000 pps или около 4 Гбит/с. У тебя довольно хорошая программа на Яве. С таким интенсивным трафиком может не справляться ядро. Если лишнее из твоей программы повыкидывать и допилить, а лучше переписать на Си, то получится неплохой балансировщик). Хотя не совсем представляю, как 20G обрабатывает твой балансировщик на недопиленном ядре и без кучи интеловских сетевух. Реально хорошая программа на Java))

    Что делать? Тут несколько вариантов. Самый (относительно) простой программный - определиться что ближе Netmap или DPDK.Ознакомиться с тем как можно прокачивать сетевой стэк Линукс. Накупить серверов, сетевух, настроить ПО.
    Для построения кластера высокой надёжности (именно поэтому нужно несколько серверов) можно присмотреть CARP, Heartbeat, Piranha, или какое-нибудь другое решение
    Второй способ состоит в установке специальных сетевых устройств для балансировки трафика (балансировка по IP с использованием маршрутизаторов). Он довольно затратный. Требует дорогих устройств, специалистов, знания сетевых протоколов. Позволяет выполнять более простое увеличение мощностей (некоторые железки позволяют делать типа агрегации), фильтрацию и приоритезацию трафика, балансировку по географическому положению клиентов.
    Дальше считай и прикидывай сам.