我是服务器管理新手,之前使用过共享主机,后来考虑使用 VPS,为我的网站提供更多服务。VPS 规格:
RAM: 12GB
CPU: 4 Core Intel E5
SSD: 300GB
Server: Apache
OS: Ubuntu 16.04
PHP: 7.0 FCGI
Stack: Virtualmin
Script: Wordpress
Number of website: 1(Going to host 5 more websites if server can withstand with it)
Cache plugin: W3 Total Cache
我在 VPS 上安装了 memcached,想调整它以更快的速度提供静态文件。由于我不知道该怎么做,所以我包含了 memcached 文件:
# Run memcached as a daemon
-d
# Log memcached's output to /var/log/memcached
logfile /var/log/memcached.log
# Start with a cap of 4096 megs of memory
-m 4096
# Default connection port is 11211
-p 11211
# Run the daemon as memcache
-u memcache
# Specify which IP address to listen on.
-l 127.0.0.1
调整原因:性能更好,运行 5 个 WordPress 网站时。我购买了每分钟 1000-3000 个弹出流量。因此,我想从 memcached 为每个页面提供服务,我想知道是否需要对此进行一些调整
请告诉我如何才能优化我的网站。
答案1
通常,“如何调优”的问题很大程度上取决于许多变动部件,除非默认设置非常错误,否则没有明确的答案。您必须自己找到答案。而且您的性能问题可能出在数据库或 Web 服务器上,而不是 Memcached 上。
实现最佳调优的最佳方法是测试、测量、优化、测试、测量、优化并重复。除非您能确定瓶颈在哪里,否则任何优化都不会提高性能。
例如,您为 memcached 分配了 4Gb。除非您能确定 memcached 是因为内存不足而受到影响,否则其性能不会提高,而且您可能会转移可能对数据库或 Web 服务器有帮助的内存,但这可能会损害性能。
在进行任何优化之前,请运行一系列性能测试以创建基线。这非常重要,如果没有坚实的基准,您就无法确定任何优化是否真的能提高性能。将所有配置文件恢复为默认值,重新启动计算机,然后进行压力测试。使用任何好的负载生成器(Apache JMeter 就是一个很好的选择),创建一个测试用例,并在合理的时间内运行测试。可以通过查看 Web 服务器日志文件来构建一个好的测试用例。
掌握了基准后,使用性能监控工具查看服务器在哪些方面需求较大。iostat
、vmstat
、iotop
和monit
是nmon
您的好朋友。您可以查看系统是否花费大量时间进行磁盘 IO,或者 RAM 是否太少,或者网络是否是问题所在。
当您知道问题所在时,您就可以开始优化。如果您发现数据库缓存较低,则可以增加数据库的内存并减少 Web 服务器的内存。或者,如果您发现 Web 服务器队列较高,则可以增加 Web 服务器进程的数量。
更改任何系统参数后,运行相同再次测试。不要更改测试的任何参数。如果性能更好,则您有一个新的基准。再次检查性能计,尝试识别另一个瓶颈,然后重复。
性能调整是一个迭代过程,而不是一项任务。