Wenn ich einen Strace auf einem Apache-Prozess ausführe, sehe ich viele gettimeofday-Vorher- und Nachher-GET-Anfragen, selbst wenn Apache eine statische Datei wie eine Bilddatei zurückgibt. Dies führt zu einer langen Ausfallzeit, bevor Apache 2.4 (mit PHP 5.6, fcgid) die GET-Anfrage beantwortet.
1616 0,000048 lesen(156, "GET / HTTP/1.1\r\n", 8000) = 16 1616 0,000099 gettimeofday({1430592206, 931114}, NULL) = 0 1616 0,000044 gettimeofday({1430592206, 931156}, NULL) = 0 1616 0,000035 lesen(156, 0x7f01d4007018, 8000) = -1 EAGAIN (Ressource vorübergehend nicht verfügbar) 1616 0,000042 Umfrage ([{fd=156, events=POLLIN}], 1, 7915439 1670 0,020724 <... epoll_wait wieder aufgenommen> {}, 100, 100) = 0 1670 0,000039 gettimeofday({1430592206, 951998}, NULL) = 0 1670 0,000037 gettimeofday({1430592206, 952034}, NULL) = 0 1670 0,000033 gettimeofday({1430592206, 952066}, NULL) = 0 1670 0,000032 epoll_wait(155, {}, 100, 100) = 0 1670 0,100265 gettimeofday({1430592207, 52366}, NULL) = 0 1670 0,000041 gettimeofday({1430592207, 52405}, NULL) = 0 1670 0,000033 gettimeofday({1430592207, 52437}, NULL) = 0 1670 0,000033 epoll_wait(155, {}, 100, 100) = 0 1670 0,100324 gettimeofday({1430592207, 152804}, NULL) = 0 1670 0,000066 gettimeofday({1430592207, 152865}, NULL) = 0 1670 0,000073 gettimeofday({1430592207, 152941}, NULL) = 0 1670 0,000060 epoll_wait(155, {}, 100, 100) = 0 1670 0,100251 gettimeofday({1430592207, 253247}, NULL) = 0 1670 0,000039 gettimeofday({1430592207, 253284}, NULL) = 0 1670 0,000032 gettimeofday({1430592207, 253316}, NULL) = 0 1670 0,000032 epoll_wait(155, {}, 100, 100) = 0 1670 0,100241 gettimeofday({1430592207, 353597}, NULL) = 0 1670 0,000061 gettimeofday({1430592207, 353653}, NULL) = 0 1670 0,000071 gettimeofday({1430592207, 353727}, NULL) = 0 1670 0,000045 epoll_wait(155, {}, 100, 100) = 0Es gibt viele davon, bevor der Server tatsächlich die Antwort auf GET zurückgibt.
Was habe ich getan:
- Ich habe ExtendedStatus in httpd.conf vorsichtshalber deaktiviert.
- Ich bin dem Rat des Red Hat-Teams gefolgt und habe
echo "kernel.vsyscall64 = 2" >> /etc/sysctl.conf
& sysctl anschließend bearbeiten. - echo 1 > /proc/sys/kernel/vsyscall64
Das hat die Antwortgeschwindigkeit von Apache 2.4 etwas erhöht, aber es ist immer noch langsam und es gibt viel Gettimeofday. Ich habe keine Modsecurity und nur Standardmodule von Apache. Trotzdem vermute ich ein Modul.
Ich habe überprüft, ob es Ioncube 5.0.2 war, aber das war nicht der Fall.
Ist das normal? Wenn nein, glauben Sie, dass es von einem Modul von Apache stammen könnte?
Bearbeiten: Es sieht so aus, als ob es mit den 3 Zeitstempeln übereinstimmt, die in 3 Protokolle kopiert wurden und drei Fehler/Warnungen aufschreiben.
Danke dir.