• Нужно ли менять SSD NVME Samsung SM951?

    15432
    @15432
    Системный программист ^_^
    Percentage Used: 123%
    Data Units Written: 308 698 968 [158 TB]

    У вашей модели теоретический предел износа - 100 TB, а вы уже 158 TB записали. Он вам предсказывает, что скоро может помереть, вот и выдаёт предупреждалки. А уж менять или нет - дело ваше.
    Ответ написан
    Комментировать
  • Реализован ли в VS Code поиск по выделенному фрагменту кода?

    Balya
    @Balya
    Люди и технологии
    В плашке поиска (Ctrl+F) есть кнопка, похожая на выравнивание текста по левому краю (Alt+L). Она то как раз указывает на поиск по фрагменту.

    5c3a7fff1fa90932732932.png
    Ответ написан
    1 комментарий
  • Как узнать регион по широте и долготе?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    1. Качаем local.osm.pbf с gis-lab

    2. Извлекаем границы:

    mkdump:
    spoiler
    osmosis \
      --rb file=local.osm.pbf \
      --tf accept-relations boundary=administrative --uw --un \
      outPipe.0=rels \
      \
      --rb file=local.osm.pbf \
      --tf accept-ways boundary=administrative --un \
      outPipe.0=ways \
      \
      --merge \
      inPipe.0=rels \
      inPipe.1=ways \
      \
      --wb file=local-bounds.osm.pbf


    3. Загружаем границы в postgis:

    Файл стиля adm.style:
    spoiler
    node,way   name:ru         text      linear
    node,way   name:en         text      linear
    node,way   alt_name        text      linear
    node,way   alt_name:ru     text      linear
    node,way   official_name   text      linear
    node,way   admin_level  text         linear
    node,way   boundary     text         linear
    node,way   name         text         linear
    node,way   ref          text         linear
    node,way   place        text    linear


    Загрузка данных (в базу с именем local, префикс таблиц adm_):

    osm2pgsql -d local local-bounds.osm.pbf -S adm.style -s -p adm --multi-geometry


    4. Теперь можно запросом выяснить принадлежность любой точки:

    spoiler
    local=> select osm_id,name,boundary,admin_level from (select ST_Transform(ST_SetSRID(ST_MakePoint(37.6,55.6),4326),3857) as point) a,adm_polygon b where a.point && b.way and ST_Within(a.point,b.way) and boundary='administrative' order by admin_level::INT asc;
      osm_id  |             name              |    boundary    | admin_level 
    ----------+-------------------------------+----------------+-------------
     -1029256 | Центральный федеральный округ | administrative | 3
      -102269 | Москва                        | administrative | 4
     -1282181 | Южный административный округ  | administrative | 5
      -950664 | район Чертаново Южное         | administrative | 8
    (4 rows)


    Если данные загрузить в ту же базу - то можно одним запросом извлекать данные, принадлежащие нужной области.
    Ответ написан
    Комментировать
  • Почему то strpos работает не правильно?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Коротко - не передавайте в strpos число (int), a передавайте строку (sting) и проблем не будет

    Разврёнуто
    Читаем документацию https://www.php.net/strpos

    needle
    Если параметр needle не является строкой, он преобразуется в целое число и трактуется как код символа. Это поведение устарело с PHP 7.3.0, и полагаться на него крайне не рекомендуется. В зависимости от предполагаемого поведения, параметр needle должен быть либо явно приведен к строке, либо должен быть выполнен явный вызов chr().


    Если прогнать ваш код то видим ошибку
    Deprecated: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in /in/2JE4h on line 4


    Чтобы код отрабатывал как ожидается, $user_ip должен иметь тип string

    так
    $user_ip = (string)94301750;
    или так
    $user_ip = '94301750';

    В противном же случае вместо "94301750" в strpos уходит результат chr(94301750) что есть строка "6"
    и получается в итоге strpos('1334268210|3322954437', '6') отсюда и результат Yes
    Ответ написан
    4 комментария
  • Как уменьшить время ответа SSL на вебсервере?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Можно немного оптимизировать настройки, но все равно 2мя самыми большими пожирателями времени будут сеть (RTT) и процессорное время. Первое можно улучшить расположившись на сервере который физически ближе к вашим клиентам, второе - более мощным процессором. Именно так получают <100ms. Вот например на моем сайте используется стандартный CloudFlare, и как видите тут как раз <100ms. Я пробовал настраивать на самом сервере, но никак не получалось добиться таких же цифр, особенно с учетом того что сервер у меня один, и RTT для разных точек мира будет разный (и часто долгий), а у CloudFlare все-таки баллансировка адекватная:

    5e774dca0daf4419180142.jpeg
    Ответ написан
    Комментировать
  • Почему медленно удаляются файлы и с паузами на серверных SSD Samsung centos 6?

    @zersh
    Скорее всего связано с тем как много у вас файлов, насколько заполненны диски и как удаляются данные ssd.
    в отличии от hdd, ssd - нужно выполнить гораздо больше манипуляций.
    описание: https://recovery-software.ru/blog/how-ssd-drives-p...

    для удаления попробуй запускать с более низким приоритетом

    ionice -c2 -n7 КОМАНДА


    а ещё можно по крону, в момент наименьшей нагрузки сервера, например ночью
    на определённое время. примерно так, совместив совет, что приводили ранее:
    0 02 * * * /usr/bin/timeout 18000 /usr/bin/flock -n /tmp/remove_files.lock -c "ionice -c2 -n7 find /path/to/folder -name "*" -type f -print | xargs -P 0 /bin/rm -f"


    процесс удаления будет запускаться каждую ночь с 2ч и до 7 утра. (/usr/bin/timeout 18000 = 5ч)
    Ответ написан
    Комментировать