Переписать простой скрипт на node.js

verfaa

Профессор
Регистрация
29 Янв 2007
Сообщения
416
Реакции
49
Имеется скрипт на php. Из-за огромного числа обращений к нему нагружает сервер.

Код:
<?php
require '/home/vendor/autoload.php';

$ip = $_REQUEST['ip'];
if( filter_var($ip, FILTER_VALIDATE_IP) !== false ){

$ip_arr = explode(".", $ip);

// Ban 35.192.0.0 - 35.207.255.255
if($ip_arr[0] == 35 && $ip_arr[1] > 191 && $ip_arr[1] < 208){
   echo 1;
   exit;
}

    $gi = geoip_open("/usr/local/share/GeoIP/GeoIPCity.dat", GEOIP_STANDARD);
    $record = GeoIP_record_by_addr($gi, $ip);
    if(in_array($record->country_code, ['PL', 'IN', 'UA', 'BY', 'CN', 'TR', 'BR'])) { echo 2; exit; }

    $giisp = geoip_open("/usr/local/share/GeoIP/GeoIPISP.dat", GEOIP_STANDARD);
    $isp = ($user_isp = geoip_org_by_addr($giisp, $ip)) ? strtolower($user_isp) : "";

    if (preg_match('#amazon|baidu|twitter#i', $isp))
        echo 1;
    else
        echo 0;
}

Слышал что node.js намного меньше нагружает сервер в подобных ситуациях.
Хочу установить на сервер последний node.js 12.13.1 LTS, через npm установить необходимую библиотеку Для просмотра ссылки Войди или Зарегистрируйся и переписать этот скрипт на node.js
Подскажите, имеет ли смысл заморачиваться с этим? Даст ли это прирост производительности в моём случае?
И если у кого есть пара свободных минут, набросайте код выше на ноде, там всего несколько строк))
 
Скорее мало кто будет специально писать, а вот если вы поделитесь своим, то могут пойти пожелания по оптимизации
Ну и в закрома заберем ;)
 
Имеется скрипт на php. Из-за огромного числа обращений к нему нагружает сервер.
Есть мнение, что в таких ситуациях имеет смысл брать более низкоуровневые решения... fail2ban, GeoIP, iptables.
 
Назад
Сверху