• Как оптимизировать / кэшировать кучу тяжелых запросов к MySQL?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Проверить индексы на таблицах, с такими объемами у вас все должно летать.
    2) Кэширование используется на часто вызываемых запросах, где не критично отставание от точных хранимых данных в пределах некоторго заданного временного интервала, например список последних новостей на сайте изменяется не часто, а запрашивается постоянно, есть смысл хранить его в кеше хотя бы 15-30 минут. А у вас ситуация ровно обратная - запрос делается редко, и данные нужны актуальные.
    3) к п.1 нужно соответственно добавить проверку, как работают запросы и используются индексы, explain в руки и вперед.
    Ответ написан
    9 комментариев
  • Какой аналог этой команды в Windows?

    Почитайте документацию к taskkill
    Ответ написан
    Комментировать
  • Почему в bash не отображается переменная внутри echo при запуске из-под Cron?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    При запуске через Cron всегда в $RESULT пусто.
    Почему?

    Скорее всего потому что не удаётся запустить /usr/local/bin/wp. Для разнообразия можно сделать так:
    RESULT=$(/usr/local/bin/wp core verify-checksums --allow-root --path=/var/www/web/ 2>&1 )

    чтобы посмотреть на полный вывод команды.
    А кроме того, команды обычно устанавливают статус выхода в зависимости от успеха/неуспеха. Его можно достать из $?. И если /usr/local/bin/wp всё делает правильно, то часть с IS_OK можно переписать так:
    IS_OK=$?
    if [ $IS_OK == 0 ]; then
    Ответ написан
    Комментировать
  • Что нужно знать начинающему сисадмину?

    paran0id
    @paran0id
    Умный, но ленивый
    Вы один и совсем без опыта? Ищите работу, где будет наставник. Без него вы мало чему научитесь, и, вероятно, крепко накосячите.
    Ответ написан
    Комментировать
  • Что использовать для создания консольного меню средствами терминала?

    @AVKor
    dialog, например.
    Ответ написан
    Комментировать
  • Не работают запросы INSERT и UPDATE, что я сделал не так?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Подскажите пожалуйста, что я делаю не так
    Не занимаетесь отладкой, а занимаетесь гаданиями.

    и где может быть моя ошибка.
    В произвольном месте. По этому проверяют по порядку
    1) Что передается в data в яваскрипте (console.log)
    2) Что передается в на сервер (смотрим нетворк браузера)
    3) Что получили на стороне сервера (var_dump и тот же нетворк, смотрим ответ аякса)
    4) Проверяем запрос, и с таким заданием плейсхолдеров бинд не нужен:
    $stm = $this->db->prepare($sql);
    $stmt->execute($params);
    Ответ написан
    Комментировать
  • Как узнать информацию об процессорах системы Debian?

    sotvm
    @sotvm
    Умный поймёт, а дураку и так всё равно.
    А по факту: должно стоять 2 процессора по 32 ядра.

    губа не дура ))) 5f3e2d4b1f2f4030818543.gif
    xeon-e5-2665 8 ядер 16 потоков на один камень
    а если проца два, то и имеем 32 потока
    Ответ написан
    Комментировать
  • Стоит ли покупать данный вариант сервера?

    Zoro
    @Zoro
    Так не лучше ли обновить текущий комп, а из старого железа собрать домашний сервер. Докупить дисков, если надо памяти, поставить proxmox, настроить mdadm-ом рейд и создавать виртуалки под сайт, почту и т.д.?
    Ответ написан
    Комментировать
  • Как запустить питон приложение в линукс?

    @Andryxans
    Возможно в pycharm вы используете окружение (venv) в котором установлены какие то модули которые были установлены например через pip install. Что бы Ваш проект успешно работал нужно создать ему такое же окружение в линуксе. Что бы посмотреть что установлено в pycharm в терминале введите: pip freeze - появится список установленных пакетов. так же в линуксе попробуйте выполнить эту команду (должен быть установлен pip) и сравните пакеты. Если не получится, придется глубже копать.
    Ответ написан
    2 комментария
  • Какое кластерное решение выбрать?

    shambler81
    @shambler81 Куратор тега Linux
    К сожалени вы не описали битрикс у вас или б24, так что пишу по обоим сразу, разница не значительна
    1. любой сервер на SSD прекрасно справляется по I-O дисков, iotop -okaв студию, тем более Nvme таких тарифов уже как грязи, никакйо рейд на обычых ssd даже близко не встанет с совершенным на nvme. а 2 Гб в секунду вам хватит за глаза. как минимум это на 1 два порядка больше чем скорость канала.
    3. Количество процессоров не добавит производитильности битрикс, ее добавит лишь частота на камне. Количество увеличит только если вашему серверу плохо. В штатной загрузке LA =3-10 никаких от количества камней пользы не будет никакой.
    4. Как и от оперативки на последних версиях пхп битрикс сатл есть достаточно мало памяти, и 16 ему реально с запасом включая кеш бд.
    5. Поднятия даже всего сайта в кеш памяти не даст ему ощутимого прироста, так что ваш рейд железный опять же ничего не даст. Поскольку 99% времени это запросы в бд, и отдача статики и то и другое этимне увеличить.
    6. Что взять
    1. Битрикс ВМ умеет собирать кластер, но нужно неплохо знать линукс там нужен напильник. Последний раз я делал так https://www.mindomo.com/mindmap/-nebo-2c548660f4b4... Как вы видите кластер имеет непропорциональную динамику к увеличению сложности.
    2. Кубернетас ваш выбор и Яндекс облако ( не путать с диском)
    Сам сайт битрикса давно уже в кубернетес.
    Его сейчас в стране предоставляют 4 компании
    гугл
    яндекс
    селектел
    мали
    Если кубертенас не потяните сразу, то берите яндекс облако и на нем просто поднимите впс, его будет легко масштабировать как горизонтально так и вертикально. ( хотя если бы вы дали конфигурацию вашего железа то можно было бы более детально что-то обсудить)

    7. Попробуйте последнее поколение камней плюс nvme - возможно это просто решит всю вашу проблему.
    8. Скорее всего вам проще сйчас пойти по следующему пути

    1. Повысить php до 7.4 ( прирост в зависимости от текущей версии, если она еще 5.6 то колоссальный, если в рамках 7 то до 30%
    2. Оптимизация кеша в битирксе, как правило он сделан просто через ж. тут прирост может быть до 2000% с легкостью
    3. Перевод самых тяжелых выборок на чисты D7 да прийдется немного пересобрать сайт, но если большое количество сойств и привязок то никуда не денешся ( от 30 К товаров) прирост в таком раскладе будет до 20000%
    4. Если есть очень большие массивы данных выкинуть их в hiload.
    У этого подхода есть свой основной плюс, да местами тут могут понадобится серьезные временные вливания, но вы не наращиваете сложность проекта, что сильно отражается на его устойчивости ( поддерживать кластер сложней и дороже чем просто сервер притом многократно) как минимум это системы мониторинга и мониторинг монитрингов. А как правило оптимизация самого сайта на битриксе откровенно на 2. проще заняться именно этим.
    Если вы покажете сайт то будет проще.

    Помните что до 50К в день сайт легко живет на 1 сервере и это с 300К товаров.
    Проще оптимизировать сам код, увеличивать сложность и "нестандартность" решения. Да последнее рано или поздно будет но лучше поздно, это финансово дешевле.

    Если еж у вас обычный HDD посколку б24 очень прожорлев то тут все проще.
    Подключайте основные папки аплоада на яндекс облако или селектел облако, можно это сделать прям в битриксе. Как показывает практика это почта аплоад в задачах и тд. Все по своим папкам как правило это 1-10 документов или фоток, что лекко поднимается с облака без проблем, нет необходимости на самом сервере держать весь этот пакет помойки.
    Если же у вас hetzner ( я бы вам его под б24 рекомендовал поскольку самое мощьное железо за адекват деньги) то можно просто докупить диск(облачный) и примонтировать его через fstab в аплоад, 10 Тб вам за глаза хватит. да и кор 9 и последние райзены там дешевые а под б24 это то что доктор прописал.

    Тут я более подробно писал
    https://klondike-studio.ru/standards/trebovaniya-k...
    Ответ написан
  • Почему я могу зайти на сайт по его домену но не могу по ip?

    Когда в браузере вводите адрес, происходит примерно следующее:
    1. браузер переводит имя в ip адрес и подключается к нему.
      Когда ввели вместо имени ip, сразу понятно, куда подключаться.
    2. там отвечает веб-сервер. После соединения браузер по протоколу HTTP «здоровается» с сервером и говорит, что ему надо. Это, в общем-то, похоже на обычный текстовый чат. Браузер пишет первым:
    GET / HTTP/1.1
    Host: web.site.com
    Accept-Language: ru
    Обратите внимание на заголовок Host — тут тот адрес (без дальнейшего пути /a/b/c/index.php), который ввели в браузере. Если ввели именно ip, он и будет там в заголовке Host.

    Теперь дело за сервером, как он настроен. Часто на одном сервере, на одном ip, располагается несколько сайтов. И сервер понимает, какой сайт запросили, именно по заголовку Host.

    Вполне можно настроить веб сервер, что ему делать, когда в поле Host находится ip-адрес: отдавать какую-нибудь заглушку, или основной, единственный сайт.
    Ответ написан
    Комментировать
  • Почему не работает вывод значения переменной в цикле for?

    @TheCalligrapher
    Код ничего не выводит просто потому, что цикл никогда не завершается.

    Нажатие клавиши Enter не приводит к возврату EOF из getchar(). Для того, чтобы создать ситуацию EOF при консольном вводе, вам нужно обратиться к документации на ваш терминал. Разные терминалы работают в этом отношении по-разному и их поведение может зависеть от их конфигурации.

    Для Linux терминалов EOF обычно возникает, если нажать Ctrl+D при пустом входном буфере. "При пустом входном буфере" означает, что Ctrl+D нужно нажимать либо в начале новой строки, либо сразу после предыдущего нажатия Ctrl+D.

    Для Windows терминалов EOF формируется, если ввести Ctrl+Z в начале новой строки и затем ввести Enter.

    Отдельно стоит посоветовать вам завершать вывод символом перевода строки: printf("%.0f\n", nc);
    Ответ написан
    Комментировать
  • Целесообразно ли покупать сервер?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Пользователи будут заходить и смотреть видео.
    Сначала думайте о покупке CDN-услуг для доставки трафика без перегрузки канала связи до конечного потребителя контента.
    А уже потом (после всех расчётов нагрузки на канал, на перекодирование видео и т.д.) - будете подбирать конфиг под видео-сервер для пережатия/отдачи этих видео для просмотра.
    Ответ написан
    4 комментария
  • Почему rDNS может оказаться пустым?

    Sanes
    @Sanes
    rDNS прописывается у вашего провайдера, который предоставляет IP.
    Ответ написан
    Комментировать
  • Роутер-маршрутизатор с поддержкой 4G USB модема и VPN, какие есть варианты?

    Zoominger
    @Zoominger Куратор тега Системное администрирование
    System Integrator
    Ставьте бытовой Микротик с USB-разъёмом.
    Если осилите - будет отлично. VPN потянет, USB обычно поддерживает модемы, настроите по мануалам в сети.
    Ответ написан
    2 комментария
  • Что нужно питонисту, чтобы его приняли на работу?

    @dmtrrr
    Backend developer
    1. системы контроля версий (git)
    2. базы данных
    3. понимание как работают разные API (REST, SOAP)
    Ответ написан
    Комментировать
  • Хочу узнать внешний IP адрес?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Работаю я в университете энийкейщиком

    без доступа в интернет

    Тот факт, что вы без доступа в Интернет вовсе не означает, что его вообще в вашем универе нет :) Скорее всего он есть, просто не по Хуану сомбреро.
    И скорее всего есть админы, которые следят, чтобы каждый получал сомбреро сообразно размеру своей головы а попытку напялить чужое карают :)
    Ответ написан
    1 комментарий
  • Информационная безопасность заочная форма обучения.Лишняя трата времени?

    @dmshar
    Заочное образование - по моему мнению - выбирают в двух случаях.
    1. Для корочки. В нужный момент пришел, получил оценку, потом корочку, которую засунул куда подальше. Все. Понятно и качество такого образования. Без обсуждения.
    2. Люди, которые уже в профессии. Но понимают, что бессистемное обучение ни до чего хорошего не доведет. Они идут грубо говоря за тем, что-бы им показали roadmap, который самому найти непросто (посмотрите количество тем на форуме "как стать..."). Кроме того, необходимость хоть какой, но все-же сдачи предметов служит неплохим стимулом, что-бы не дать разгуляться своей лени. Ну и кроме того, выполнение любых заданий (я не про "историю" или "здоровый образ жизни")- это такой себе небольшой тренинг мозгов (впрочем - 5 лет,это уже вполне "большой" тренинг, если к нему правильно относиться). Наконец - это приобретение того, что стало модно называть "softskills". И как правильно сказали - качество ПОЛУЧЕННОГО для таких людей может быть вполне достойное, а иногда и выше, чем у маминькиных сынков, занесенных волей родителей на стационар.
    Ответ написан
    2 комментария
  • Тонкие клиенты вместо моноблоков: а это кошерно?

    DevMan
    @DevMan
    терминальным клиентам - сто лет в обед.
    конечно имеет смысл, если все колбасится на сервере.

    другое дело - они сейчас не особо выигрывают в цене у обычных компов/моноблоков (в некоторых регионах). поэтому нужно хорошенько мозговать перед покупкой.
    Ответ написан
    8 комментариев
  • Как работает WEEK()?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    RTFM
    Mode 1:
    First day of week: Monday
    Range: 0-53
    Week 1 is the first week … with 4 or more days this year

    For mode values with a meaning of “with 4 or more days this year,” weeks are numbered according to ISO 8601:1988:
    - If the week containing January 1 has 4 or more days in the new year, it is week 1.
    - Otherwise, it is the last week of the previous year, and the next week is week 1.
    Ответ написан
    Комментировать