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

verfaa

Профессор
Регистрация
29 Янв 2007
Сообщения
412
Реакции
48
Имеется скрипт на 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
Подскажите, имеет ли смысл заморачиваться с этим? Даст ли это прирост производительности в моём случае?
И если у кого есть пара свободных минут, набросайте код выше на ноде, там всего несколько строк))
 

borodatych

Гуру форума
Регистрация
24 Июн 2016
Сообщения
159
Реакции
98
Скорее мало кто будет специально писать, а вот если вы поделитесь своим, то могут пойти пожелания по оптимизации
Ну и в закрома заберем ;)
 

Absolute

Крокодил ;)
Регистрация
9 Авг 2009
Сообщения
581
Реакции
453
Имеется скрипт на php. Из-за огромного числа обращений к нему нагружает сервер.
Есть мнение, что в таких ситуациях имеет смысл брать более низкоуровневые решения... fail2ban, GeoIP, iptables.
 
Сверху