Zoptymalizuj Nginx + PHP-FPM, aby uzyskać szybsze czasy odpowiedzi (do obsługi reklam Openx)
Obecnie używam Nginx + PHP-FPM, aby wyświetlać reklamy w OpenX. Obecnie mój czas odpowiedzi jest fatalny, nawet przy niskim obciążeniu. Jednak mój procesor i zasoby pamięci są w porządku, więc nie mogę dowiedzieć się, co to jest wąskie gardło.
Moja obecna konfiguracja dla nginx i php-fpm jest następująca:
worker_processes 20;
worker_rlimit_nofile 50000;error_log/var/log/nginx/error.log;
pid/var/run/nginx.pid;events {
worker_connections 15000;
multi_accept off;
use epoll;
}http {
include/etc/nginx/mime.types; access_log/var/log/nginx/access.log; sendfile on;
tcp_nopush off; keepalive_timeout 0;
#keepalive_timeout 65;
tcp_nodelay on; gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; include/etc/nginx/conf.d/*.conf;
include/etc/nginx/sites-enabled/*;
}server {
listen 80;
server_name localhost;
access_log/var/log/nginx/localhost.access.log;# Default location
location/{
root/var/www;
index index.php;
}## Parse all .php file in the/var/www directory
location ~ .php$ {
fastcgi_pass localhost:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME/var/www$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_ignore_client_abort off;
}PHP-FPM:
rlimit_files = 50000
max_children = 500
Dodałem tylko parametry PHP-FPM, które zmieniłem na PHP-FPM.
Czy ktoś ma jakieś wskazówki, jak mogę go zoptymalizować, aby móc obsłużyć więcej żądań? W tej chwili widzę straszne czasy reakcji.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
7 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Przypuszczam, że nie obchodzi Cię generowanie dzienników dla tych żądań.
Anonimowy użytkownik
Potwierdzenie od:
Zajrzałbym również do twojego serwera bazy danych, istnieje duża szansa, że problem tam jest.
Ponadto zwiększyłeś do , mam nadzieję, że wiesz, że system operacyjny zwykle ustawia limit na 1024 (domyślnie), możesz spróbować sprawdzić aktualny limit przez wpisując ulimit -n Możesz zwiększyć twardy limit NOFILE (liczba otwartych plików), uruchamiając to polecenie w init.d lub
odwiedzając to drugie pytanie na stackoverflow
https://coderoad.ru/2694004/
aby dowiedzieć się, jak używać do trwałego ustawiania ograniczeń w całym systemie.
Anonimowy użytkownik
Potwierdzenie od:
Na przykład nie widzę żadnego użycia try_files ani żadnego rodzaju buforowania w twojej konfiguracji. Czy wiesz, że nginx ma wbudowaną obsługę memcache? Możesz buforować obrazy i strony html/css, a także strony php. Jeśli zależy Ci głównie na kliknięciach, te kliknięcia będą się liczyć, nawet jeśli wyświetlenia nie są liczone.
Umieść swoje banery w systemie plików montowania tmpfs, bez access_log lub poziomu globalnego, wyłącz moduły, których nie potrzebujesz w php, użyj najnowszego mysql, użyj InnoDB, aby zmniejszyć blokadę pulpitu, baw się z cysterną InnoDB, aby zmniejszyć zapisy na dysku, zwiększ maksymalną pamięć tabel w mysql, aby zmniejszyć tworzenie plików tymczasowych na dysku, gdy dołączenie jest wymagane przez SQL itp.
Nginx to tylko część bardzo dużej i złożonej formuły. Nie wspomniałem nawet o parametrze jądra do optymalizacji stosu TCP i wydajności karty sieciowej, wykorzystania wymiany, zużycia pamięci lub kompresji HTML/CSS gzip, którą możesz obsługiwać przez OpenX (jeśli tak).
I tak, podobnie jak inne wspomniane powyżej, Twoje ustawienia wydają się przesadne i wskazują na brak zrozumienia podstawowych pojęć optymalizacji. Innymi słowy, zatrudnij fachowca :-)
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
http://vbtechsupport.com/796
http://vbtechsupport.com/796/
/
Anonimowy użytkownik
Potwierdzenie od:
HHVM używa procesora nadrzędnego jako „kompilatora Just in Time” i zazwyczaj wykonuje kod PHP 5–10 razy szybciej niż samo PHP, co pozwala dogadać się z mniejszą lub mniejszą liczbą serwerów i znacznie zmniejszyć zużycie energii. Wikipedia użyła HHVM, aby zmniejszyć obciążenie procesora serwera o 5 razy:
http:// www.golem.de/news/php-Facebook-hhvm-macht-Wikipedia-schneller-1501-111515.html
http://www.golem.de/news/php-f ... .html
Można go zainstalować wraz z pakietem Nginx as Linux i bardzo łatwo dołączyć do Nginx, podobnie jak FastCGI, a wkrótce po kilku minutach można go przetestować za pomocą małego pliku PHP „Hello World”:
https://github.com/facebook/hh ... arted
https://github.com/facebook/hh ... arted
Zgodnie z benchmarkami nowy PHP7 PHPNG powinien być tak naprawdę tylko o 30% szybszy.
dziękuję za poparcie głosowania