Обновить
15
Сергей@koksharov

Пользователь

33
Подписчики
Отправить сообщение

А они должны ?

Web-сервер является неотъемлемой частью при разработке web-приложений.

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

Понятно что это "приятный бонус" для работодателя, но серверами разве не должны другие люди заниматься ?

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

На других языках по другому ?

Да, в других языках нет прямой зависимости 1 worker = 1 запрос

Каждый питонист знает как настроить rate limit в nginx или отбросить ненужные запросы чтобы они даже до приложения не доходили ?

Rate-limit это уже настройка от перегрузки запросами, зная особенности работы web-сервера на PHP можно ускорить обработку запросов, например, вынеся часть операций в фоновую обработку.

Еще есть способ создать Closure:

<?php

declare(strict_types=1);

readonly class Test
{
    private function __construct(private int $a, private int $b)
    {
    }

    public static function foo($a, $b): callable
    {
        $result = new self($a, $b);

        return $result->bar(...);
    }

    public function bar(int $c): int
    {
        return $this->a + $this->b + $c;
    }
}

echo Test::foo(1, 2)(3);

Swoole не написан на go, возможно вы сравниваете с roadrunner

https://github.com/swoole/swoole-src - ссылка на модуль

Да, для ускорения использовался Swoole, он работает на основе event-loop (очень похоже на nodeJS), за счет этого получилось быстро выполнить программу.

Полная документация по swoole есть на их официальном сайте https://wiki.swoole.com, также есть большое количество composer-пакетов, которые позволяют подключить этот модуль к проекту.

Важный момент, простое подключение swoole в рабочий проект будет равносильно использованию php-fpm или apache или другим web-серверам.

Более подробно как можно писать код, какие есть нюансы, за счет чего можно показать высокую производительность, как интегрировать это в существующий проект и хочу написать в следующих статьях. Планов много, этой статьей хочу узнать у людей, интересно ли это или нет

да, за счет того, что ответы были быстрые и не было лага по ответу, за пределы соединений на одной машине не уходило, поэтому сокетов хватило.

Если вопрос к http2, что количество сокетов было снижено, то - нет, запросы были http первой версии

да, все в docker

k6 использовал для нагрузки

база postgresql, для подключения использовал пул соединений

Это просто пример, в котором PHP обогнал golang. В реальной жизни совершенно другие задачи. Замеры были только выполнения кода по десериализации json, не более того.

На счет http-сервера - это спойлер к будущей статье, в которой уже более детально об этом расскажу

я пользуюсь вот этим фреймворком: code.google.com/p/css-framework/
даже если есть аналитика, поисковики видят что был переход со страницы на страницу, т.к. загружается скрипт аналитики
все ссылки стоят не #/url/to/page а /url/to/page а т.к. поисковые роботы не используют javascript они нормально индексируют сайт
У меня стоит следующий способ защиты:
1. Форма стандартная, без каптчи
2. При генерации страницы создается сессия и записывается в базу
3. Скриптом, каждые 10 секунд идет запрос к определенному скрипту, при этом со стороны сервера проверяются заголовки, то есть отправление должно быть через javascript + сохраняем реферер
4. Проверяется было ли обращение скриптом хоть раз, если же не было тогда в регистрации отказываем
При выполнении всех выполненных выше условий даем пользователю зарегистрироваться, если же нет, то в регистрации отказываем

Если кто-нибудь хочет узнать более подробно как это реализовано пишите мне в личку и при условии, что это будет интересно более 10 человек напишу топик с подробным описанием

С уважением, Сергей
Согласен с Вами.

>>Вы скажите, а что сложного человеку посмотреть JS код, узнать файл md5.php и ботом сначала парсить инфу оттуда?

>>Ну так существует ведь ru.wikipedia.org/wiki/Обфускация JS кода с помощью которой вам надо обфуцировать небольшой JS код в хидере…

Так же хотел дополнить, что любой firebug покажет Вам куда посылается запрос с помощью Ajax со всеми заголовками, так что обфускация в данном случае мне кажется пустая трата времени

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность