Задать вопрос
  • Как определить использует centos два процессора или один?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Можно просто запустить top
    Затем нажать клавишу 1 (единица)
    Получите примерно следующую картинку
    top - 19:56:47 up 70 days, 22:17,  1 user,  load average: 1.06, 0.78, 0.54
    Tasks: 313 total,   1 running, 312 sleeping,   0 stopped,   0 zombie
    Cpu0  :  0.3%us,  0.7%sy,  0.0%ni, 98.0%id,  0.0%wa,  1.0%hi,  0.0%si,  0.0%st
    Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu2  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu3  :  3.0%us,  0.3%sy,  0.0%ni, 96.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu4  :  0.3%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu5  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu6  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu7  :  2.3%us,  0.3%sy,  0.0%ni, 95.4%id,  0.0%wa,  2.0%hi,  0.0%si,  0.0%st
    Cpu8  :  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu9  :  0.0%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.3%hi,  0.0%si,  0.0%st
    Cpu10 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu11 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:  16391940k total, 16131308k used,   260632k free,   256568k buffers
    Swap: 16732028k total,   283700k used, 16448328k free, 13885680k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    21055 www-data  20   0  367m  86m  44m S    3  0.5  11:36.53 php5-fpm
    25425 davfs2    20   0 62632 5408 1744 S    2  0.0  10:05.34 mount.davfs
    27192 root      20   0 17472 1480  972 R    1  0.0   0:00.07 top
        8 root      20   0     0    0    0 S    0  0.0 100:22.51 rcuos/0
     9367 redis     20   0 11232 1436  688 S    0  0.0  46:09.99 redis-server
    18792 www-data  20   0  121m 4192 1120 S    0  0.0  17:43.58 nginx
        1 root      20   0 24340 1848 1020 S    0  0.0   0:11.06 init
        2 root      20   0     0    0    0 S    0  0.0   0:01.67 kthreadd
        3 root      20   0     0    0    0 S    0  0.0   4:23.58 ksoftirqd/0
        5 root       0 -20     0    0    0 S    0  0.0   0:00.00 kworker/0:0H
        7 root      20   0     0    0    0 S    0  0.0  89:01.35 rcu_sched
        9 root      20   0     0    0    0 S    0  0.0  21:43.56 rcuos/1
       10 root      20   0     0    0    0 S    0  0.0  17:40.52 rcuos/2
       11 root      20   0     0    0    0 S    0  0.0  17:40.02 rcuos/3
       12 root      20   0     0    0    0 S    0  0.0  16:00.85 rcuos/4
       13 root      20   0     0    0    0 S    0  0.0  14:39.94 rcuos/5
    Ответ написан
    Комментировать
  • Как организовать взаимодействие между клиентом и сервером на питоне?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Самый нормальный вариант - twisted! Можно взять самый простой пример echoclient/echoserver twistedmatrix.com/documents/current/core/examples
    Ну и вариант по-сложнее - https://habrahabr.ru/post/97201/

    Также немного нужно вывернуть мозг с асинхронным программироавнием и deferred.

    Собственно у меня это получилось за два-три дня. Сейчас куча вещей на нем написана, могу подсказать :-)

    Да хоть сервер (web) на нем поднять, к которому будут клиенты коннектиться и давать ему задания - дело 10 строк.

    Да, на твистед есть и аналог торнадо - cyclone.io
    Это практически полный аналог торнадо (и по производительности), но со всеми плюшками твистед. Я его тоже активно пользую, для веб-морд своих приложений.

    А вот и пример на скорую руку:
    import cyclone.web
    import sys
    
    from twisted.internet import reactor, threads
    from twisted.python import log
    
    def doLongCalculation():
        # .... do long calculation here ...
        return 3
    
    result = 0
    
    def doResult(x):
        global result
        result =  x
    
    class StartHandler(cyclone.web.RequestHandler):
        def get(self):
            # run method in thread and get result as defer.Deferred
            d = threads.deferToThread(doLongCalculation)
            d.addCallback(doResult)
            self.write("Start!")
    
    class StatusHandler(cyclone.web.RequestHandler):
        def get(self):
            global result
            self.write("Result = %s" % (result))
    
    if __name__ == "__main__":
        application = cyclone.web.Application([
            (r"/", StatusHandler),
            (r"/start", StartHandler)
        ])
    
        log.startLogging(sys.stdout)
        reactor.listenTCP(8888, application, interface="127.0.0.1")
        reactor.run()

    В глобальной переменной result, будет лежать значение после старта по обращению (я браузером пользовался) localhost:8888/start , которое отработается в треде методом doLongCalculation, а результат будет обработан методом doResult. Ответ смотрим браузером по localhost:8888

    В общем, вариантов масса.
    Ответ написан
    9 комментариев
  • Выбор фреймворка для сервера на java?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Если просто потренироваться или писать что-то совсем особенное, то можно и напрямую на сокетах. А в плане фреймворка рекомендую посмотреть на netty.io
    Ответ написан
    Комментировать
  • Что важнее: SSD или ОП?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Как минимум память, если она сильно загружена, тем более, что в нее кешируются и дисковые операции.
    Есть еще вариант, купить памяти +2Гб и еще один жесткий диск. Сделать из двух дисков raid1. И если у вас операций чтения сильно больше, чем записи, то получите неплохую прибавку по скорости.
    Ответ написан
    Комментировать
  • Как правильно работать с mercurial?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    1) забираем к себе репозиторий
    hg clone <адрес репозитория>
    2) работаем и правим исходники, коммитим их
    hg commit
    3) тегируем перед заливкой в удаленный репозиторий (на любителя, как я)
    hg push <адрес репозитория>
    4) идем на боевой или тестовый сервер и забираем обновления или весь репозиторий
    hg pull
    или
    hg clone
    4.1) сливаем исходники (мы еще на тестовом или боевом сервере)
    hg update

    Ну и очень хорошая статья по делу - https://habrahabr.ru/post/108904/
    Ответ написан
    Комментировать
  • Изучение С для программирования микроконтроллеров?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Не очень различаются, для введения в язык С начните с книжки Керниган и Ритчи, диалект языка конечно немного устарел, но все основы представлены.
    Основной упор делайте на работу с указателями, структурами и битовыми операциями.
    Для обращения к регистрам устройства (процессора и периферии), обычно используется следующая конструкция:
    ....
    volatile u_int32 *my_cool_register = 0xFFFEBEEF; /* адрес 32-разрядного регистра, ключевое слово volatile */
    my_cool_register  |= 0x2; /* взвести второй бит */ 
    ....

    Ну и у Cortex-M3 есть адресное пространство, где все БИТЫ доступны по отдельным адресам, часто это очень удобно.

    PS. Да, используйте библиотеки от поставщика, там много уже сделано в виде макросов (про это в книжке) и библиотек.
    Ответ написан
    Комментировать
  • Как решить проблему с сетевой картой?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вариантов несколько.
    Карточка на материнке:
    - она просто сгорела
    - она выключена в BIOS
    Карточка отдельно в PCI-слоте:
    - она сгорела
    - окислились контакты - вытащить, протереть ластиком, вставить обратно
    - сгорел слот PCI - переставить в другой

    Как минимум, до установки драйверов, карточка ДОЛЖНА появиться в диспетчере устройств.
    Ну и как написано, карточка может быть в "глубоком сне" - вставьте сетевой кабель.
    Ответ написан
  • Какие решения есть на битрикс для AJAX загрузки новостей?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    О! Вы входите в зону боли. Вообще-то ajax встроен с битрик, но я так и не понял (ну почти) как он работает :-( dev.1c-bitrix.ru/api_help/main/js_lib/ajax
    Я все выписываю на jquery примерно по этой технологии - verstaem.com/ajax/ajax-1c-bitrix
    Быстрее, нет велосипедов, я могу полностью контролировать код.
    Ответ написан
    Комментировать
  • Почему в яндексе, мэйле не кодят на C#?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Потому что C# - это ява, только хуже.
    Предыстория такова, что в начале мелкомягкие делали свою ява машыну, а сонцеликим это не понравилось, так как не соответсвовало их стандарту. Сонцеликие пожаловались в Высший Суд и мелкомягких прилежно отшлепали. Мелкомягкие обиделись, и сделали из своей явы C#, объявив его недоявой. По ходу послав куда подальше сонцеликих, бизнесмашины, оракулов и немелкую кучку разных энтерпрайз зомби и троллей.
    Сонцеликих съели оракулы. Бизнесмашины, энтерпрайззомби и тролли, чтобы их не съели, любят оракулов. Теперь все их любят.
    А вот мелкомягких никто не любит, но у них есть недоява.
    Ответ написан
    8 комментариев
  • Что может быть причиной возникновения lost carrier?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    В принципе, критичного ничего не вижу, если потеря несущей возникает кратковременно секунд на 10-20. Скорее всего это происходит из-за статического электричества, которое скапливается на кабеле, особенно в морозы, когда влажность сильно понижена, особенно если идет небольшой снег, особенно в грозу.
    Грозозащита, если она нормальная, то проблем с ней нет.
    Вариантов собственно два.
    1) Использовать FTP-кабель с шилд-разъемами и правильно заземлять коммутаторы. Вариант, скажу вам, не очень...
    2) Использовать оптику. Супер! Тем более она сейчас дешевле грязи на 100 мегабит. Если нет возможности установить SFP-модули, то просто поставьте трансмиттеры с двух сторон, например D-link DMC-300SC. Кабель можно купить сразу оконцованный на нужную длину.
    Ответ написан
  • Какое программное обеспечение использовать чтобы нарисовать схему подключения?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Как ни странно inkscape.org ! Все рисуется на ура, за 15-20 минут!
    Картинки брать здесь - https://openclipart.org
    Например - ищем по слову rack - получаем кучу картинок для стоек и сами стойки. Ну и так далее...

    Конечно же можно установить microsoft visio, но он как-бы не дешев.
    Ответ написан
    Комментировать
  • Какие есть этапы установки vps под django?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    На любой вкус, правда под ubuntu, но разницы с центос не вижу вообще никакой, кроме установки пакетов и местоположения конфигов.
    https://www.digitalocean.com/community/tutorials/h...
    https://www.digitalocean.com/community/tutorials/h...
    https://www.digitalocean.com/community/tutorials/h...
    https://www.digitalocean.com/community/tutorials/h...
    А вот и centos
    https://www.digitalocean.com/community/tutorials/h...
    https://www.digitalocean.com/community/tutorials/h...
    Ответ написан
    3 комментария
  • Создание HPS-кластера в бюджетных условиях. Как это сделать?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    На таких процессорах можно запустить по паре виртуалок. НО!
    Можно пойти другим путем и сделать маленький кластер на основе torque, corosync и lxc. Ну и поэкспериментировать в параллельных вычислениях на mpi, сделать распределенное хранилище на ceph. Да много можно чего сделать, как минимум для экспериментов. Рекомендую сразу ставить по паре адаптеров ethernet. Да даже с kvm можно поиграться, прокидывая адаптеры через sr-iov (только адаптеры должны это поддерживать).
    Ответ написан
    Комментировать
  • Как ограничить юзеров на серверe друг от друга?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Запустить их в lxc или kvm, и будет всем щазтие.
    Ответ написан
    2 комментария
  • Как наиболее эффективно расположить серверы в стойках?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    У нас охлаждение стоек снизу-вверх, но не под саму стойку, а спереди. Но при этом вам нужны будут фальшполы, достаточное пространство сверху, сами стойки должны иметь фронтальную и заднюю перфорированные двери, боковины закрыты наглухо. нагруженные сервера располагаем снизу, сверху коммутаторы и всякую муть. У нас система "закрытого типа" с прецизионным поддержанием температуры/влажности , в роли охладителя воздуха - вода.
    Вот на почитать про сущестующие решения
    - www.osp.ru/lan/2007/07/4269871
    - www.sib.com.ua/arhiv_2007/2007-6/2007_6_chempion.htm
    - https://habrahabr.ru/post/241581/
    Ответ написан
    Комментировать
  • Какие книги по серверной оптимизации связки mysql + apache на *.nix системах стоящие существуют?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вопрос немного некорректен. Есть отдельно оптимизация mysql, отдельно apache ( который в связке например с php) , отдельно php. Вот по всему этому есть отдельные книги.
    Но я бы порекомендовал снести индейца, поставить nginx, поставить php-fpm, поставить redis. Прикрутить redis к php, а php-fpm к nginx. Настроить nginx, mysql, php-fpm по отдельности и кешировать результаты работы mysql и php через редис.
    Ну и посмотреть на яву, питон и прочие альтернативы, вдруг понравится :-)
    Ответ написан
  • Длина кабеля - Это нормально?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, длина каждого сегмента до 100 метров, это от компа к свичу или свича к свичу, или длина кабеля от порта к порту. Также кабель может быть неправильно обжат, недожаты разъемы или плохая заделка кабеля в разъем, сгоревший порт и т.д.
    Рекомендую проверить ошибки на портах и померить скорость через iperf.
    Ответ написан
  • Вспотела материнка?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Предположу, что это непромытый КИСЛОТНЫЙ флюс. Нарушена технология производства, брак! Явно гарантийный случай, если гарантия не прошла. Данные флюсы очень активны,применяются на поточных производствах. Если их не промыть, то будут разъедать и лак и проводники. Обычно плата приходит в негодность от 2-х месяцев до года. Починке не поддается. Мы в свое время заказывали достаточно большую партию плат-переходников с очень дорогими разъемами, и в течении года все их пришлось заменить. Долго выясняли что случилось, выяснили.
    Ответ написан
    Комментировать
  • Решил попробывать написать игру слова на Java, как мне решить проблему?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вместо того, чтобы приводить весь класс, описали бы алгоритм. А вообще-то похоже, что у вас происходит вывод с нескольких потоков одновременно, отсюда и чехарда с буквами. Ну и существует такая весчь как дебаггер, доступный в любой IDE, даже в emacs, не говоря об эклипс, нетбинс и идеа. Просто прошагайте алгоритм и поставьте точки останова на непонятных местах.
    Ответ написан
    Комментировать
  • Почему redis работает лучше с maxmemory, чем без него?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    А случаем в swap он не уходит? Ну и чем измеряете "проседание"?
    Ответ написан
    Комментировать