• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. Article
  3. Защо отговорът на localhost е толкова бавен?

Защо отговорът на localhost е толкова бавен?

Rsdaa 04/01/2022 1091

Работя върху малък PHP проект за мой приятел и имам настройка на WAMP среда за локално развитие. Спомням си дните, когато отговорът от моя локален Apache 2.2 беше незабавен. Уви, сега, когато се върнах от дълга, дълга ваканция, намирам отговорите от localhost за болезнено бавни.

Извеждането на 300B HTML страница отнема около 5 секунди.

Когато гледам диспечера на задачите, httpd процесите (2) използват до 0% от процесора и като цяло компютърът ми не е под натоварване (0-2% използване на процесора).

Защо забавянето е толкова високо? Има ли някаква настройка на Apache, която бих могъл да променя, за да накарам нишката му да работи с по-висок приоритет или нещо подобно? Изглежда, че просто спи, преди да издаде отговора.

masegaloeh

17,5k 9 9 златни значки 51 51 сребърни значки 99 99 бронзови значки

попита на 17 септември '09 в 17:15

Петър Перхач Петър Перхач

1009 1 1 златна значка 9 9 сребърни значки 13 13 бронзови значки

12

За мен настройката на свойството ServerName в httpd.conf поправи закъсненията (в най-лошия случай бяха до 10 секунди):

# ServerName дава името и порта, които сървърът използва, за да се идентифицира. # Това често може да се определи автоматично, но ви препоръчваме # да го посочите изрично, за да предотвратите проблеми по време на стартиране. # # Ако вашият хост няма регистрирано DNS име, въведете неговия IP адрес тук. Име на сървъра 127.0.0.1:80

6

Имах същия проблем.

Задаването на localhost пренасочване към 127.0.0.1 във файла hosts не помогна. Оптимизирането на MySQL сървъра не помогна (InnoDB -> MyISAM, промяна на много свързани с кеша директиви в my.ini).

След това използвах web webgrind и стесних проблема до извикване на „ново PDO(...)“. Промяна

mysql:host=localhost;dbname=dp-ui;charset=utf8

до

mysql:host=127.0.0.1;dbname=dp-ui;charset=utf8

в dsn за PDO напълно реши проблема! Времето за зареждане на страницата премина от над 3000 ms на 16 ms.

Наистина съм объркан обаче защо редът „127.0.0.1 localhost“ във файла hosts не помогна.

8

Проблемът беше с основния файл с настройки на Apache httpd.conf.

Намерих това:

Има три начина да настроите PHP да работи с Apache 2.x на Windows. Можете да стартирате PHP като манипулатор, като CGI или под FastCGI. [Източник]

И така влязох в настройките на Apache и видях къде е проблемът: настроих го като CGI, вместо да го заредя като модул. Това накара php-cgi.exe да се стартира и изключва всеки път, когато направя заявка. Това забавяше развитието на локалния ми хост.

Промених настройките, за да заредя PHP като Apache МОДУЛ и сега всичко работи перфектно. :)

За да заредите PHP модула за Apache 2.x:

1) вмъкнете следните редове в httpd.conf

LoadModule php5_module "c:/php/php5apache2.dll"AddHandler application/x-httpd-php .php

(p.s. променете C:/php на вашия път. Също така променете php5apache**.dll на вашето съществуващо име на файл)

2) За да ограничите изпълнението на PHP само за .php файлове, добавете това в httpd.conf:

SetHandler application/x-httpd-php

3) задайте пътя на php.ini в httpd.conf (ако след рестартиране получите грешка, премахнете този ред отново)

PHPIniDir "C:/php"

Благодаря на всички ви за усилията.

3

Проверете дали /etc/hosts е правилен. Като този:

# име на хост mobrglnx1 добавено към /etc/hosts от anaconda 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ***** ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 *******

В място **** дайте вашето име на хост.

3

Имах същия проблем и най-накрая открих, че идва от два факта:

Използвам Mac OS X Mavericks. Осъществих достъп до проекта си чрез URL адреса http://myproject.local/, защото поставих ред 127.0.0.1 myproject.local в /etc/hosts

Проблемът се появява, защото .local tld е запазен за Услуга Bonjour и това от Mac OS X Lion (10.7).

Промяната на tld за нещо друго реши проблема.

2

Във вашия httpd.conf не забравяйте да зададете настройката HostnameLookups Off.

1

В случай, че помогне на някого, имах този проблем и той се свеждаше до неправилно DNS търсене.

DNS сървърът на сървъра беше настроен на 127.0.0.1 - промених го, за да използва публичните DNS сървъри на Google и това го направи много по-бърз.

Въпросът има етикет apache-2.2, но ако някой е засегнат от този зловещ проблем и на WAMP с Apache 2.4 + PHP 5.5, следният отговор на SO свърши работа за мен:

редактирайте httpd.conf и деактивирайте зареждането на CGI модула, като коментирате този ред: LoadModule cgi_module modules/mod_cgi.so

https://stackoverflow.com/a/18786773/260080

Много активен въпрос. Спечелете 10 репутация (без да броим бонуса за асоцииране), за да отговорите на този въпрос. Изискването за репутация помага за защитата на този въпрос от спам и липса на отговор.

Сървърната грешка работи най-добре с активиран JavaScript


PREV: Топ 6 предимства на сървърната виртуализация - HiTechNectar

NEXT: Какво е виртуализация? - IONOS

Popular Articles

Hot Articles
Back to Top