Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6902-й день

Новорічний Фріліч на трекері активовано!
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua

 php Вопрос по файлу который инклюдится

RipperR
Aug 22 2017, 10:42
  
Пост #1



Репутация:   40  
Постоялец
***

Группа: Пользователи
Сообщений: 1 153
С нами с: 25-March 08


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

А то я обратил внимание что странички (файл php) на всех подразделах выполняется по 500мс чисто файл php.. то-есть в логах стоит
Ожидание 216мс скачивание 353 мс...

Сообщение отредактировал RipperR - Aug 22 2017, 10:44
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов
RipperR
Aug 31 2017, 15:01
  
Пост #2



Репутация:   40  
Постоялец
***

Группа: Пользователи
Сообщений: 1 153
С нами с: 25-March 08


Нашел я так понимаю одно из узких мест ... а имеено подключение к MySQL bd


        $start = microtime();
    $dbcnx=@mysqli_connect($dblocation,$dbuser,$dbpasswd,$dbname);
    mysqli_query($dbcnx, "SET NAMES 'utf8'");
    if(!$dbcnx)
    {
        echo ("Ощибка подключения к mySQL");
        exit();
    }
    echo round((microtime() - $start)*1000);


это выполняется 200мс если я правильно посчитал
Пустой файл с echo 234ms тоесть 34 мс код и 200 мс конект к бд.

как это полечить или что я делаю не так.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Payne
Sep 1 2017, 7:13
  
Пост #3



Репутация:   19  
Активист
*

Группа: Пользователи
Сообщений: 293
С нами с: 17-March 06


(RipperR @ Aug 31 2017, 16:01) Перейти к цитате

Нашел я так понимаю одно из узких мест ... а имеено подключение к MySQL bd


        $start = microtime();
    $dbcnx=@mysqli_connect($dblocation,$dbuser,$dbpasswd,$dbname);
    mysqli_query($dbcnx, "SET NAMES 'utf8'");
    if(!$dbcnx)
    {
        echo ("Ощибка подключения к mySQL");
        exit();
    }
    echo round((microtime() - $start)*1000);


это выполняется 200мс если я правильно посчитал
Пустой файл с echo 234ms тоесть 34 мс код и 200 мс конект к бд.

как это полечить или что я делаю не так.


200 мс на самом деле не так уж много. Если Вы боитесь за скорость выборки при количестве записей больше 10к, то используйте индексы для выборки по ключевым полям. Если я не ошибаюсь, MySQL может начинать притормаживать при кол-ве записей больше 300к в таблице, и то это вроде исправили давно.

Можно использовать Redis или Memcache(d) для кеширования частых одинаковых запросов, если количество оперативки позволяет. Накрайняк Sphinx юзать, он конечно, не совсем для кеширования, но в данном случае подойдет, в принципе
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Сообщения в этой теме
RipperR   php Вопрос по файлу который инклюдится   Aug 22 2017, 10:42
Celin   хкм. дробить на файлы и подключать по потребности....   Aug 22 2017, 10:46
miniden   Народ вопрос такой есть файл в нем собраны все кл...   Aug 22 2017, 10:53
RipperR   Тазик под сайт не рахит но чет задумчевый FX-8320E...   Aug 22 2017, 11:30
BahuL   Создатели симфони тоже используют 1 большой файл в...   Aug 22 2017, 12:09
RipperR   Короче я так понял что надо наставить там микротай...   Aug 22 2017, 12:24
RipperR   Сделал тестовый файл занклюдил свой файл с функцио...   Aug 22 2017, 18:43
BahuL   Сделал тестовый файл занклюдил свой файл с функци...   Aug 28 2017, 12:58
RipperR   Кеширование не трогал все дефолтное . Ось CentsOS ...   Aug 28 2017, 20:48
RipperR   Нашел я так понимаю одно из узких мест ... а имеен...   Aug 31 2017, 15:01
Payne   Нашел я так понимаю одно из узких мест ... а имее...   Sep 1 2017, 7:13
RipperR   То-есть если процесс подключение к бд в 200 мс это...   Sep 1 2017, 12:33
Payne   То-есть если процесс подключение к бд в 200 мс эт...   Sep 6 2017, 8:08


Reply to this topicStart new topic

 



- Упрощённая версия
Сейчас: 6th February 2025 - 13:29
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст.