LINUX.ORG.RU

Сообщения morkovkin

 

Какая БД подходит под частые выборки IP

Приветствую друзья! Подскажите, правильно ли мыслю в сторону NoSQL redis в следующей ситуации.

Есть база на mysql IP диапазона адресов:

A____________B________________BLOCK___

192.168.1.0___192.168.1.255___1_______

100.100.5.0___100.100.255.0___0_______

Некоторые диапазоны А-В сгруппированы по 3 и 4 октету и содержат более 255 адресов. Такой подход дал экономию в размере базы, но существенно увеличил время запроса.

Select выбирает ip в диапазоне от A до B. Столкнулись с тем, что частые выборки (в пике 15 запросов в секунду) тормозят сервер.

Начали присматриваться в сторону NoSQL redis без группировки адресов, планируется увеличить базу по объему, но значительно повысить скорость выборки.

Обновления в базе происходят регулярно, до 1000 update, delete в сутки.

Правильный ли подход в планировании задачи и поможет ли redis в увеличении количества select в данной ситуации?

Перемещено hobbit из general

 ,

morkovkin
()

Нужна помощь наставника по API ChatGpt

Требуется помощь, простым языком объяснить как работает API ChatGpt. Необходимо сформировать promt и получить ответ с помощью CURL или php.

Конечная задача стоит простая, в детской игре развиваются навыки ассоциаций. Случайным образом выбираются животные и предметы из мультика. Нужно сделать запрос к API ChatGpt (например, «собака», «умывальник», «машина»: кто из этих персонажей живое существо?

Кто может помочь?

 ,

morkovkin
()

PHP 8.2 всегда нехватает памяти

Есть простой скрипт на php

<?php

echo time();

?>

При запуске из консоли (php /home/site.com/tmp.php) работает отлично. Но вот при обращении с веба (http://site.com/tmp.php) заканчивается ошибкой в логах о нехватке памяти.

2023/01/23 13:02:32 [error] 2126#2126: *178 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Allowed memory size of 18874368 bytes exhausted (tried to allocate 94872324898096 bytes) in Unknown on line 0" while reading response header from upstream, client: xxx.35.12.125, server: site.com, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "site.com", referrer: "http://site.com/tmp.php"

Сервер голый, сайт тестовый (без движка) просто 1 сценарий tmp.php. Связка nginx + php8.2

Понятно что для такого простого сценария на php хватит и 16M памяти, но я пробовал ставить ограничения в /etc/php/8.2/fpm/php.ini memory_limit = 16M memory_limit = 200M memory_limit = 500M Во всех вышеперечисленных случаях памяти не хватает.

В какую строну копать?

 ,

morkovkin
()

Настройка PHP 8.2

В старой версии php был конфигурационный файл /etc/php/7.4/fpm/php.ini, где можно было задать каждому хосту свои параметры

[HOST=site.ru]
open_basedir ='/home/site.ru/'
upload_max_filesize = 12M
post_max_size = 13M
memory_limit = 15M

В новой версии в /etc/php/8.2/ только директория mods-available

ls  /etc/php/8.2/mods-available/
calendar.ini  ffi.ini	    iconv.ini  shmop.ini      sysvsem.ini    xmlreader.ini
ctype.ini     fileinfo.ini  pdo.ini    simplexml.ini  sysvshm.ini    xmlwriter.ini
dom.ini       ftp.ini	    phar.ini   sockets.ini    tokenizer.ini  xsl.ini
exif.ini      gettext.ini   posix.ini  sysvmsg.ini    xml.ini

Как же теперь задавать параметры хостам?

 ,

morkovkin
()

VSFTPD загрузка файлов более 16 кб

Прошу помощи сообщества.

При загрузке файлов более 16 кб на сервер обрывается загрузка. Связка vsftp + filezilla.

В журнале сервера есть ошибка

FAIL UPLOAD: Client "IP", "/www/rewrite.php", 16384 bytes
Истинный размер файла более 42 кб. После ошибки на клиенте «Передача файла потерпела неудачу» filezilla пытается загрузить файл «rewrite.php» еще два раза, пытаясь перезаписать его, но соединение безуспешно закрывается.

cat /etc/vsftpd.conf
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
seccomp_sandbox=NO
allow_writeable_chroot=YES
pasv_min_port=50000
pasv_max_port=60000

ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

Загадочное в этой ситуации следующее - у меня проблема проявляется только на загрузке файлов с расширением php размером более 16 кб. Другие файлы более 16 кб загружаются успешно. Если отключить поддержку SSL файлы загружаются любые, и с любым размером.

Проблема известная https://forums.debian.net/viewtopic.php?f=5&t=145157 Решения ей не смог найти.

 ,

morkovkin
()

Можно ли ускорить удаление в MYSQL?

DELETE FROM list_ip WHERE ip   NOT IN   (SELECT ip FROM list_ip WHERE update > 1635492942 /* <- 2021-10-29 */ GROUP BY ip);

Суть: если с IP не было заходов последние 3 месяца - удалить устаревшие адреса из таблицы list_ip

Данный запрос работает, но можно ли ускорить его выполнение? В базе сотни тысяч записей, что сильно усложняет простую задачу.

UPD:

|ip_________|update____|
|192.168.1.5|2019-01-01| 
|192.168.1.5|2022-01-01| <- свежий
|192.168.1.6|2015-01-01| 
|192.168.1.6|2017-01-01|
|192.168.1.6|2018-01-01|
|192.168.1.7|2022-01-01| <- свежий

Нужно удалить из таблицы все 192.168.1.6 - адрес данный давно не заходил

 , ,

morkovkin
()

Современная CRM без JavaScript

Есть желание разработать CRM систему. Но в требованиях к ней есть ….полноценная работа с отключенным в браузере JS.

Собственно, проблема на этапе проектирования CRM: уведомлять пользователя о пришедших письмах и сообщениях.

Варианты решения:

  1. ддосить сервер перезагружающимся iframe раз в 3-5 сек. и выводить количество новый уведомлений.

  2. вариант с вебсокетом отпал по причине неработающего JS

Какие варианты есть?

ПС. Отказ от веб решения в пользу нативного софта в ОС рассматриваем после того как будет решение с web платформой.

 , ,

morkovkin
()

Как rsync и SSH объяснить где хост и путь?

Оговорюсь сразу ":" не работает :D

Есть в rsnapshot такая команда

/usr/bin/rsync \
-a \
--delete \
--numeric-ids \
--relative \
--delete-excluded \
--rsh=/usr/bin/ssh -p111 user@mysite.ru:/home/mysite.ru /media/.sync/mysite.ru
Которая не работает, так как
ssh -p111 user@mysite.ru # работает
ssh -p111 user@mysite.ru:/home/mysite.ru # выдает ошибку
ssh: Could not resolve hostname mysite.ru:/home/mysite.ru: Name or service not known!
Вот такая неурядица. Либо, SSH перестраивать, либо rsync объяснить что сначал законектиться ssh -p111 user@mysite.ru, а затем копируй из /home/mysite.ru в /media/.sync/mysite.ru

 , ,

morkovkin
()

GIT - утечка данных

Добрый день! Теоретический вопрос относительно системы управления версий GIT: Есть ли возможность обрубить все возможные доступы на утечку кода в сеть интернет?

Как я понял из теории, Git нуждается в связи с сервером, на котором и хранятся данные (репозитарий). Можно такой репозитарий поднять на локальном хосте, но при этом без утечки в сеть Интернет (github) данных?

Благодарю за ответ!

 ,

morkovkin
()

Долгий запрос из вложенной таблицы

Добрый день! Не получается оптимизировать запрос MYSQL. Хотелось бы не использовать промежуточный приемник (PHP array).

Суть задачи: Выбрать сообщения из Table_1 для которых нет больше топиков на форуме (Table_2).

Table_1 - messages
---------------------
 id|topic_id|message|
---------------------
 1 | 80777  | mes1  |
---------------------
 2 | 80777  | mes2  |
---------------------
 3 | 80779  | mes3  |
---------------------

Table_2 - topics
--------------------------
   id  | posted | author |
--------------------------
 80776 | data   | name 1 |
--------------------------
 80777 | data   | name 2 |
--------------------------
 80778 | data   | name 3 |
--------------------------
mysql> SELECT topic_id, message FROM Table_1 WHERE topic_id NOT IN (SELECT id FROM Table_2);
Empty set (5.88 sec) !!!

По отдельности левая и правая часть запроса отрабатываются очень быстро. Предпринимал GROUP BY topic_id для Table_1с целью ускорения, но проблемы не решило кардинально.

 

morkovkin
()

Новая версия preg_replace в PHP7

Друзья, столкнулся с проблемой при переходе на PHP 7 версии, а именно с переполнением preg_replace. Суть проблемы: ранее (до перехода на PHP 7) данный код отлично отрабатывал (текст не содержит смысла важна только его длина)

<?php

$s = <<<EOA
TEST <!-- МОЯ хозяйка Зина больше похожа на фокса, чем на девочку: визжит, прыгает, ловит руками мяч (ртом она не умеет) и грызёт сахар, совсем как собачонка. Всё думаю - нет ли у неё хвостика? Ходит она всегда в своих девочкиных попонках; а в ванную комнату меня не пускает - уж я бы подсмотрел. МОЯ хозяйка Зина больше похожа на фокса, чем на девочку: визжит, прыгает, ловит руками мяч (ртом она не умеет) и грызёт сахар, совсем как собачонка. Всё думаю - нет ли у неё хвостика? Ходит она всегда в своих девочкиных попонках; а в ванную комнату меня не пускает - уж я бы подсмотрел.МОЯ хозяйка Зина больше похожа на фокса, чем на девочку: визжит, прыгает, ловит руками мяч (ртом она не умеет) и грызёт сахар, совсем как собачонка. Всё думаю - нет ли у неё хвостика? Ходит она всегда в своих девочкиных попонках; а в ванную комнату меня не пускает - уж я бы подсмотрел.МОЯ хозяйка Зина больше похожа на фокса, чем на девочку: визжит, прыгает, ловит руками мяч (ртом она не умеет) и грызёт сахар, совсем как собачонка. Всё думаю - нет ли у неё хвостика? Ходит она всегда в своих девочкиных попонках; а в ванную комнату меня не пускает - уж я бы подсмотрел.МОЯ хозяйка Зина больше похожа на фокса, чем на девочку: визжит, прыгает, ловит руками мяч (ртом она не умеет) и грызёт сахар, совсем как собачонка.<!-- эксплуатацию --></body></html>
EOA;

$search = '/<!--(.|\s)*?-->/';
echo preg_replace($search, '', $s);
?>

Теперь вместо результата получаю «» (пустая строка)

Как такое может быть? Благодарю за пояснение от гуру.

 

morkovkin
()

Убрать часть border сохранив фон

Суть всей проблемы на скриншоте https://b.radikal.ru/b15/1809/6e/f46e80e0e7e2.png

Возможно ли убрать часть border сохранив background?

 ,

morkovkin
()

При выполнении скрипта PHP в логах ошибка

При выполнении на сервере скрипта index.php

echo time();

в логах ошибка

2018/08/13 21:31:01 [error] 19792#19792: *1 FastCGI sent in stderr: "PHP message: PHP Warning:  zend.assertions may be completely enabled or disabled only in php.ini in Unknown on line 0" while reading response header from upstream, client: 0.0.0.0, server: serverru, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "serverru"
При этом zend.assertions как раз только в php.ini и инициализирован
grep 'zend.assertions' -r /etc/
/etc/php/7.0/fpm/php.ini:zend.assertions = -1
/etc/php/7.0/cgi/php.ini:zend.assertions = -1
/etc/php/7.0/cli/php.ini:zend.assertions = -1

Подскажите, как убрать ошибку из логов. Она не мешает, но хочется понять почему так.

 ,

morkovkin
()

PHP постинг статей во вконтакте

Подскажите порядок действий как постить (не на стену, а именно) такие статьи на php https://vk.com/@istrariel-istrariel-pozdravlyaet-vseh-s-prazdnikami-vesny-i-t... текст + картинка

Standalone-приложение создал, получил токен. Дальше интересует последовательность действий на php

Спасибо!

 , ,

morkovkin
()

html верстка: разный background в фоне

ЛОР прошу помочь. Впервые сталкиваюсь с такой проблемой. Нужен правильный «true» способ сверстать макет без картинок в фоне.

Должен получиться такой header https://i.imgur.com/EjRC3Fh.png ( https://imgur.com/a/WcjUE )

Проблема в том, что только с картинкой в фоне такое возможно реализовать и то без «резиности». Как это сделать с background-color ?

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Как такое реализовать?</title>
    <style>
            body {
                background-color:#f4f4f4;
            }

            header {
                background-color:#c1c1c1;
                height:550px;
            }
            .container {
                margin: 0 auto;
                width:1024px;
                max-width:100%;
                background-color:transparent;
            }
            header .layer1 {

            }
    </style>
</head>
<body>
<header>
        <!-- [зеленый div ? или background] -->
        <div class="container">
            <div class="layer1">
                [логотип] [резиновый div c прозрачным фоном]
            </div>
        </nav>
        <!-- [синий div ? или background] -->
</header>
</body>
</html>

 ,

morkovkin
()

Управление Allwinner H2+

Если есть на сайте радиолюбители, и люди разбирающиеся в технике, прошу отзовитесь!

Планируется закупить несколько плат Orange Pi Zero на базе Allwinner H2+, подскажите можно ли этим процессором !аппаратно! управлять частотой? Хотелось бы подключить внешний источник импульсов и контролировать на частотах 0 - 100МГц выполнение программы.

 , , ,

morkovkin
()

Ctrl+Z и fg по крону

Нужно переодически запускать и останавливать процесс, аналог Ctrl+Z и fg. Как можно это реализовать по crontab?

 ,

morkovkin
()

Лицензия шрифта

Помогите разобраться с Линцензией шрифта.

Предположим, есть у меня интернет магазин, на котором я хочу обновить шрифт. Значит мне нужен шрифт OFL, который допускает использование для коммерческих целей. Так? Я нашел красивый шрифт, предположим, _http_www_latofonts.com Вопрос: могу я использовать этот шрифт?

Лицензия:

Lato font family (Web version)

==============================

Version 2.015; Latin+Cyrillic+Greek+IPA opensource

Created by: tyPoland Lukasz Dziedzic Creation year: 2015

 , , ,

morkovkin
()

Не удается вывести в терминал кириллицу

Linux Mint из коробки, (думаю ОС не причем) при попытке скомпилировать данный пример - результат знаки вопроса.

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>

int printfun(const wchar_t *s) {
    fwprintf(stdout, L"%ls\n", s); // запасной вариант
    fprintf(stdout, "%ls\n", s); // вариант №1
}

int main (int argc, char** argv) {
    const wchar_t *t = L"сегодня интересный день"; // если поменять на char* то все работает
    printfun(t);
    return 1;
}
gcc test.c && ./a.out 
??????? ?????????? ????

 , , ,

morkovkin
()

Как поменять шрифт в urban terror

Можно заменить шрифт на Ubuntu например в Urban Terror? Пытался в конфиг q3config.cfg прописать FontFamily ничего не вышло. Выручайте!

 , , ,

morkovkin
()

RSS подписка на новые темы