这个问题我已经纠结很久了:我的服务器和数据库都很不错,为什么网站运行这么慢?
各位前辈,请你们帮忙:
服务器是阿里云ECS 1核1G 2M
数据库是阿里云RDS云数据库,速度非常快
系统是CentOS 6.5 64位
服务器是NGINX 1.6.2
PHP是5.4.38 已经安装了OPCache
网站程序是开源CMS,别人的网站基本都是秒开,所以程序没什么问题
我使用阿里云OSS储存静态文件,css、js等,速度也很快
ping一下域名基本都是在50ms
直接访问静态文件只需要100ms,所以Nginx是正常的
可是网站访问时候响应实在太慢太慢了,每点击一下都需要等待4s-5s才能返回结果,所以我坚信是PHP的处理速度太慢了,请问大神:
这种情况该如何配置、加速PHP呢?不要求像别人那样秒开了,至少不要这么差劲吧!
感谢!
回复内容:
各位前辈,请你们帮忙:
服务器是阿里云ECS 1核1G 2M
数据库是阿里云RDS云数据库,速度非常快
系统是CentOS 6.5 64位
服务器是NGINX 1.6.2
PHP是5.4.38 已经安装了OPCache
网站程序是开源CMS,别人的网站基本都是秒开,所以程序没什么问题
我使用阿里云OSS储存静态文件,css、js等,速度也很快
ping一下域名基本都是在50ms
直接访问静态文件只需要100ms,所以Nginx是正常的
可是网站访问时候响应实在太慢太慢了,每点击一下都需要等待4s-5s才能返回结果,所以我坚信是PHP的处理速度太慢了,请问大神:
这种情况该如何配置、加速PHP呢?不要求像别人那样秒开了,至少不要这么差劲吧!
感谢!
速度慢有很多种情况,比如
- DNS解析
- CDN(可能用了国外的cdn,也会导致很慢的)
- 服务器IO(阿里云的io做的不是很好,频繁的操作io,可能很慢)
- 数据库
- 当然跟访问用户的网络也有关系
可以仔细排查下。
使用 xdebug + webgrind 调试下你的 PHP 代码性能。看看代码阻塞在哪里了。比如 curl 访问其他站点阻塞了
xdebug: 获取函数的调用栈和调用时间
webgrind: 通过 web 界面展示 xdebug 的结果
你可以用Apache Bechmark
去测试下你的网站响应速度,看看是静态文件还是你的PHP处理速度慢,再决定下一步。
1.静态问题是否使用了CDN加速?
2.是否有静态化?
3.数据库是否合理建立了索引?
4.不妨发下你的网站地址,我们帮你把把脉?
参考这个
http://segmentfault.com/q/1010000002680980/a-1020000002681487
检查网页代码里是不是调用了google的东西,只要有就会很慢
升级服务器吧,1核 1G有点慢了。
我感觉,当所有外部环境都不是问题的时候,那就是事应该想想是不是自己的问题,我感觉,就是程序的问题。程序效率太低。
能否提供一下服务器ssh信息,我去围观围观。。。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP verwendet MySQLI- und PDO-Erweiterungen, um in Datenbankvorgängen und serverseitiger Logikverarbeitung zu interagieren und die serverseitige Logik durch Funktionen wie Sitzungsverwaltung zu verarbeiten. 1) Verwenden Sie MySQLI oder PDO, um eine Verbindung zur Datenbank herzustellen und SQL -Abfragen auszuführen. 2) Behandeln Sie HTTP -Anforderungen und Benutzerstatus über Sitzungsverwaltung und andere Funktionen. 3) Verwenden Sie Transaktionen, um die Atomizität von Datenbankvorgängen sicherzustellen. 4) Verhindern Sie die SQL -Injektion, verwenden Sie Ausnahmebehandlung und Schließen von Verbindungen zum Debuggen. 5) Optimieren Sie die Leistung durch Indexierung und Cache, schreiben Sie hochlesbarer Code und führen Sie die Fehlerbehandlung durch.

PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

So konfigurieren Sie einen Nginx -Domänennamen auf einem Cloud -Server: Erstellen Sie einen Datensatz, der auf die öffentliche IP -Adresse des Cloud -Servers zeigt. Fügen Sie virtuelle Hostblöcke in die NGINX -Konfigurationsdatei hinzu, wobei der Hörport, Domänenname und das Root -Verzeichnis der Website angegeben werden. Starten Sie Nginx neu, um die Änderungen anzuwenden. Greifen Sie auf die Konfiguration des Domänennamens zu. Weitere Hinweise: Installieren Sie das SSL -Zertifikat, um HTTPS zu aktivieren, sicherzustellen, dass die Firewall den Verkehr von Port 80 ermöglicht, und warten Sie, bis die DNS -Auflösung wirksam wird.

Verwenden Sie unter Linux den folgenden Befehl, um zu überprüfen, ob Nginx gestartet wird: SystemCTL -Status Nginx Richter basierend auf der Befehlsausgabe: Wenn "aktiv: aktiv (lief) angezeigt wird, wird Nginx gestartet. Wenn "Active: Inactive (Dead)" angezeigt wird, wird Nginx gestoppt.

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen
