Для владельцев ботов: Какое преимущество могут принести дополнительные ядра процессора, если у сервера есть только один бот, который не использует другие библиотеки и многопоточность? В каких ситуациях имеет смысл использовать 2, 3 или 4 ядра, если одного достаточно для работы этого бота?
Преимущества использования процессоров с несколькими ядрами включают в себя возможность параллельной обработки данных, увеличение производительности и улучшение отзывчивости системы. Дополнительные ядра позволяют выполнять несколько задач одновременно, что особенно полезно при выполнении задач, требующих большого объема вычислений или обработки данных. Это также может улучшить мультитаскинг и общую производительность системы. В случае одного бота, который не использует другие библиотеки и многопоточность, использование дополнительных ядер процессора может оказаться излишним, поскольку задача данного бота может быть обработана одним ядром. Однако, имеет смысл использовать несколько ядер процессора в случаях, когда требуется выполнение нескольких задач одновременно, например, при запуске нескольких ботов, обработке больших объемов данных или выполнении многопоточных операций. Таким образом, использование 2, 3 или 4 ядер процессора может быть целесообразным в случаях, когда требуется параллельная обработка данных или выполнение нескольких задач одновременно, даже если одного ядра достаточно для работы конкретного бота.
Если на сервере будет один несчастный ботик, который не использует других библиотек, а также threading и т.п., есть ли смысл в 2-3-4 ядрах?
Если не брать в расчёт затраты на операционку и любой прочий софт, не использовать asyncio и multiprocessing, а так же не выполнять код параллельно, то смысл в районе погрешности.
Сколько ядер CPU можно использовать в Python?
How to Use 100% of All CPU Cores in Python
Второе ядро даст незначительный прирост в плане параллельного выполнения потоков ядра операционой системы и других процессов (коих даже на «голом» Linuxе висит несколько десятков), от третьего и последующих в описанных условиях толку никакого не будет.
В остальном же всё зависит от нагрузки. Если она небольшая (1-2 обращений в секунду и нет сложных вычислений типа нейронных сетей), то одного ядра хватит спокойно. Например, у меня два бота висят на одноядерном VDS, и на нём же крутится MySQL с базой для одного из них, и всё вполне нормально работает, причём один из ботов постоянно устанавливает исходящие запросы (выполняет мониторинг сайтов). Правда, боты написаны на PHP+Go, а не Python. Но к этим ботам всего всего несколько тысяч обращений в сутки.
Нет можно запускать на одном ядре если не используется никакая параллельность вроде тредов и асинка
прирост от многоядерности будет минимальный, проще взять одно ядро и помощнее в два раза и будет работать в два раза быстрее