Articles of Производительность

PHP с использованием расширения c ++ будет быстрее?

Сейчас я создаю систему рекомендаций (веб-сайт). Я хочу использовать PHP как язык скрипта. Система рекомендаций может выполнять сложные матричные вычисления или что-то еще. Учитывая производительность, я хочу использовать C ++ для матричных вычислений или других сложных вычислений. Поэтому мне нужна функция вызова C ++ PHP, получить результат и выполнить другую обработку. Я знаю, что я […]

KILL MySQL запрашивает PHP, если пользователь закрывает браузер или перемещается с одной страницы на другую страницу

Мой сайт использует onload AJAX. Поэтому, когда пользователь, входящий в вызовы AJAX на странице 6, выполняется параллельно. В середине процесса, если пользователь закроет браузер или переместится на другую страницу, я хочу убить запросы. Шаги для достижения этого: 1. Найдите идентификатор выполнения следующего MySQL-запроса (идентификатор соединения) и сохраните его в сеансе. http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html Нам нужно идентифицировать этот […]

Оптимизированный метод сравнения IP-адресов с подстановочными знаками в PHP?

Кто-нибудь знает об эффективном и безопасном методе, чтобы увидеть, является ли этот вход: $_SERVER['REMOTE_ADDR'] совпадает с этим массивом непоследовательных фильтров (обратите внимание, что 200.100. *. * может быть выражено как 200.100. *) с подстановочными знаками, обозначенными символом *: array( '192.168.1.*', '192.168.2.1*', '10.0.0.*', '200.100.*.*', '300.200.*', ) Обновить Мысли? foreach($instanceSettings['accessControl']['allowedIpV4Addresses'] as $ipV4Address) { echo 'Now checking against […]

Неэффективный SQL-запрос

В настоящий момент я создаю простое веб-приложение, которое я открою с открытым исходным кодом. Поскольку он стоит на данный момент, навигатор генерируется при каждой загрузке страницы (которая будет меняться для кэширования в один прекрасный день), но на данный момент это делается с помощью кода ниже. Используя PHP 5.2.6 и MySQLi 5.0.7.7, насколько эффективнее может быть […]

Использование __get () (магия) для эмуляции корректности для чтения и ленивой загрузки

Я использую __get (), чтобы сделать некоторые из моих свойств «динамическими» (инициализировать их только по запросу). Эти «поддельные» свойства хранятся внутри свойства private array, которое я проверяю внутри __get. В любом случае, как вы думаете, лучше ли создавать методы для каждого из этих свойств, а не делать это в инструкции switch? Изменить: Тесты скорости Меня […]

PHP: как отсортировать значения массива в алфавитном порядке?

Я хочу сортировать значения массива в алфавитном порядке в PHP. Если все значения начинаются с одного символа, их следует сортировать с использованием второго символа и так далее. Игнорировать регистр. Например: before: values[0] = "programming"; values[1] = "Stackoverflow"; values[2] = "question"; values[3] = "answers"; values[4] = "AA Systems"; after: values[0] = "AA Systems"; values[1] = "answers"; […]

Лучший способ хранить «теги» для скорости в огромной таблице

Я разрабатываю большой контент-сайт с табличным «содержимым» с более чем 50 миллионами записей. Вот структура таблицы: contain id(INT11 INDEX), name(varchar150 FULLTEXT), description (text FULLTEXT), date(INT11 INDEX) Я хочу добавить «теги» к этому содержимому. Я думаю, 2 метода: Создайте столбец «тег» varchar (255 FULLTEXT) в содержимом таблицы. Храните все теги, разделенные comas, и найдите строку за […]

Производительность Memcached

Я чувствую, что скорость Memcached на моем сайте медленнее запросов Mysql. Посмотрите скриншот о производительности моего веб-сайта, который я получил от New Relic. Я не знаю, как оптимизировать memcached на моем сервере CentOS. См. Скриншоты конфигурации и производительности Memcached. Я чувствую, что число Total Connections велико. Посмотрите статистику Live ниже Ниже приведен пример использования Memcached […]

Apache Benchmark – параллелизм и количество запросов

В контрольной документации указано, что параллелизм – это то, сколько запросов выполняется одновременно, а количество запросов – общее количество запросов. Мне интересно, если я поставил 100 запросов на уровне параллелизма в 20, означает ли это 5 тестов по 20 запросам одновременно или 100 тестов по 20 запросов одновременно? Я предполагаю второй вариант, из-за приведенных ниже […]

Что быстрее / эффективнее – много маленьких запросов MySQL или одного большого массива PHP?

У меня есть веб-приложение на основе PHP / MySQL, которое поддерживает несколько языков с помощью таблицы MySQL «language_strings» с полями string_id, lang_id, lang_text. Затем я вызываю следующую функцию, когда мне нужно отобразить строку на выбранном языке … public function get_lang_string($string_id,$lang_id) { $db=new Database(); $sql=sprintf("SELECT lang_string FROM language_strings WHERE lang_id IN (1, %s) AND string_id=%s ORDER […]