Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam,
nosze sie z takim "małym" problemem pt. gdy chce wejść na strone ( ip.board + xcache + mysqlquery )to zanim przegladarka zacznie dostawać dane od serwera to mijają ze 3-4 sekundy. Problem bl wiekszy a to dlatego ze miałem źle cos wpisane w /etc/hosts i trwało to ponad 10 sekund - proawdopodobnie resolv nazwy hosta localhosta poprzez zew. ip a nie przez 127.0.0.1.
Problem występuje w różnej skali na tym serwerze, wordpress także ma czkawke innych stron jeszcze nie odpalałem, natomiast pliki serwowane tylko przez apacha bez uzycia php zapierniczają az miło - przejrzałem na blizniaczym serwerze konfiguracje php5, apache'a, mysql'a i pliki sa identyczne - wyłączenie ładowania ioncube'a tez nic nie dało i juz ręce mi opadają nie wiem gdzie szukać tej dzióry :(
serwer ma 2 karty sieciowe 1 - swiat oraz 1 openvpn do spiecia z innymi serwerami. DNS'y sa tylko na świat bez intranetu, domyslna trasa idzie odrazu przez karte wan'owa. TCP dumpem sprawdzałem to w czasie czkawki NIC na interfejsie sie nie działo. Czyli coś na serwerze blokuje phpa;/
serwis www -> http://adechade.com
nie wiem czym i jak debugować apacha czy on wisi na jakimś resolvie czy na czyms innym.
Ostatnio edytowany przez shreku (2010-09-28 10:17:46)
Offline
sudo apache2 -t
-to pokaże błędy w konfiguracji apacha.
W plikach konfiguracyjnych poszukaj opcji log level i włącz debug, a potem logi...
Offline
Obstawiał bym na to, że ciągnie dane z bazy i dopiero jak je dostanie, to zaczyna renderować stronę. Nie wiem tylko jak dużą masz tą bazę, ale wordpress i podobne mu aplikacje, lubią trzymać wszystko co się rusza w bazie.
Jak bardzo chcesz to sprawdzić to możesz to zrobić np. tak:
1. Ustalasz pid procesu apache który obsługuje Twoje zapytanie - może to być trudne, ale w środowisku testowym powinno się udać bez większych problemów. Jeśli PHP masz jako CGI, zamiast pidu apache, bierzesz pid procesu PHP.
2. Jedziesz strace'em i patrzysz co tam w trawie piszczy:
strace -p PID -e trace=network -tt
Gdzieś tam powinieneś wyczaić na czym wisi.
Offline
konfig poprawny - 2 warningi o braku vhostow na 2 ip.
strace
Process 5448 attached - interrupt to quit 10:18:43.149436 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 31 10:18:43.149655 connect(31, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) 10:18:43.149782 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 10:18:43.165829 --- SIGCHLD (Child exited) @ 0 (0) --- 10:18:58.149421 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 31 10:18:58.149562 connect(31, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) 10:18:58.149673 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 10:18:58.165359 --- SIGCHLD (Child exited) @ 0 (0) --- 10:19:00.149398 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 31 10:19:00.149539 connect(31, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) 10:19:00.149647 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 10:19:00.164733 --- SIGCHLD (Child exited) @ 0 (0) --- 10:19:01.149391 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 31 10:19:01.149532 connect(31, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) 10:19:01.149640 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 10:19:01.165993 --- SIGCHLD (Child exited) @ 0 (0) --- 10:19:02.149362 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 31 10:19:02.149503 connect(31, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) 10:19:02.149611 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 10:19:02.164785 --- SIGCHLD (Child exited) @ 0 (0) --- 10:19:03.149365 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 31 10:19:03.149572 connect(31, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) 10:19:03.149727 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 10:19:03.165427 --- SIGCHLD (Child exited) @ 0 (0) --- 10:19:04.149347 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 31 10:19:04.149484 connect(31, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) 10:19:04.149586 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 10:19:04.164343 --- SIGCHLD (Child exited) @ 0 (0) --- 10:19:29.149405 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 31 10:19:29.149547 connect(31, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) 10:19:29.149658 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 10:19:29.164333 --- SIGCHLD (Child exited) @ 0 (0) --- 10:20:07.149391 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 31 10:20:07.149596 connect(31, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) 10:20:07.149756 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 10:20:07.172712 --- SIGCHLD (Child exited) @ 0 (0) --- 10:20:10.149379 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 31 10:20:10.149520 connect(31, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) 10:20:10.149629 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 10:20:10.165715 --- SIGCHLD (Child exited) @ 0 (0) ---
nic mi to nie mowi :|
apache działą na mpm-itk, kazdy vhost ma swojego usera takze ustaleni pidu to nie problem ale złapanie go to jes problem ;)
strace złapany z wywołania apacha tego najnizszego poziomu.
Problem jest taki ze ta strona działała na blizniaczym vps'ie potencjalnie taka sama konfiguracja jesli dobrze mi sie wydaje sprawdzałem konfigi i tam działało szybciej.
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00003 | SET NAMES latin2 |
0.00194 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.166.52' WHERE u.id=1 |
0.00062 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.117.166.52', 1732330050) |
0.00055 | SELECT * FROM punbb_online WHERE logged<1732329750 |
0.00073 | DELETE FROM punbb_online WHERE ident='3.135.193.193' |
0.00062 | DELETE FROM punbb_online WHERE ident='54.36.148.135' |
0.00047 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=17400 AND t.moved_to IS NULL |
0.00018 | SELECT search_for, replace_with FROM punbb_censoring |
0.00120 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=17400 ORDER BY p.id LIMIT 0,25 |
0.00081 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=17400 |
Total query time: 0.00724 s |