Hiện tại có rất nhiều hướng dẫn cấu hình để có thể tạo được VPS chịu tải lớn trên mạng thông qua load balancing, optimize các services… Hôm nay, mình sẽ hướng dẫn các bạn một cách khác sử dụng kết hợp HocVPS Script, Zend Opcache, Memcache để có thể xây dựng được VPS có thể chịu được hàng nghìn người online cùng lúc.
Mình đã thử cài đặt VPS ở Vultr với gói 0.022$/giờ ~ 15$/tháng, 2 CPU, 2GB RAM thấy có lúc online đến 4k (theo thống kê Google Analytics) vẫn chạy ổn. Tiếc là ko có điều kiện test lâu dài xem thực tế sức chịu đựng của VPS như thế nào.
Hình ảnh chụp lúc online 4.363 người ngày 12/11/2014, đo bằng Google Analytics, site tin tức bằng WordPress:
Số lượng người online nhiều như vậy nhưng chỉ sử dụng hết 20% CPU, RAM còn thừa rất nhiều, nếu hoạt động hết công suất không biết lên đến mấy k online nữa 🙂
Nội dung bài viết
1. Cài đặt HocVPS Script
Sử dụng HocVPS Script bạn sẽ được tự động cài đặt và tối ưu LEMP server trên CentOS. Trước khi tiến hành cài đặt, nhớ chọn hệ điều hành CentOS, location Japan ở Vultr để có tốc độ về Việt Nam nhanh nhất.
Ngoài ra bạn nên tạo thêm swap 1GB cho VPS (thường swap gấp đôi hoặc ~ RAM)
Các bước cài đặt thực hiện tương tự như hướng dẫn cài đặt HocVPS Script.
2. Cài đặt Zend Opcache
Mục đích sử dụng Zend OPcache để tối ưu và tăng tốc PHP, điều này đặc biệt quan trọng và bắt buộc phải cài với những VPS có số lượng người online lớn. Qua đó giảm thiểu hoạt động của CPU và giảm đáng kể số lượng RAM mà PHP sử dụng.
HocvPS Script đã tự động cài đặt Zend OPcache giúp bạn, giờ chỉ cần điều chỉnh lại các tham số cho phù hợp với nhu cầu sử dụng của bạn mà thôi.
Bạn hãy theo dõi tình hình thực tế khi chạy VPS với 1 trình web viewer, ví dụ opcache-gui (server cài HocVPS thì đường dẫn là http://domain.com:port/op.php). Tăng hoặc giảm bộ nhớ làm sao giữ cho memory usage <= 70% là ổn, bộ nhớ còn trống sẽ được dùng cho các việc khác.
3. Cài đặt Memcached
Memcached mình sử dụng để cache query database, object và page cache. Thông thường, các dữ liệu trên thường được cache bằng cách sử dụng disk, nhưng memcached lưu thông tin trên RAM nên hiệu suất và tốc độ được tăng lên rất nhiều.
Các bạn thực hiện theo như hướng dẫn cài đặt memcached. Trong phần Cấu hình Memcached lưu ý tăng thông số MAXCONN="1024"
thành MAXCONN="10240"
# nano /etc/sysconfig/memcached
PORT="11211" USER="memcached" MAXCONN="10240" CACHESIZE="128" OPTIONS="-l 127.0.0.1 -U 0"
Tương tự như Zend OPcache bên trên, bạn nên sử dụng tool theo dõi phpMemcachedAdmin, điều chỉnh đảm bảo cho bộ nhớ <= 70%, tránh việc thừa quá nhiều RAM (như blog Học VPS do chỉ là WordPress nên dành 64MB RAM cho memcached).
Ở bước cuối bạn không cần thiết phải cài plugin WP-FFPC cho WordPress vì chúng ta sẽ sử dụng plugin W3 Total Cache như hướng dẫn bên dưới.
4. Cấu hình W3 Total Cache
Để đảm bảo mọi thứ hoạt động trơn tru, các bạn hãy sử dụng plugin W3 Total Cache. Bình thường mình vẫn hay sử dụng plugin WP Super Cache vì nó đơn giản, dễ dùng và cũng rất hiệu quả (Canh Me hiện đang dùng). Tuy nhiên khi đã sử dụng đến Memcached, bạn bắt buộc phải chuyển qua W3 Total Cache hoặc WP-FFPC.
Sau khi cài đặt xong plugin, các bạn hãy kích hoạt Page Cache, Database cache và Object Cache sử dụng method là Memcached. Ngoài ra, cũng cần kích hoạt Browser Cache và CDN nếu có thể.
Hãy nhấn vào từng mục để có thể cấu hình chi tiết cụ thể hơn.
Hi vọng, với bài viết này các bạn sẽ có thể tự build được 1 VPS chịu tải tốt. Đừng quên để lại comment bên dưới thông báo kết quả bạn đạt được sau khi thực hiện nhé.
website không dùng wordpress, dùng lệnh nào để clear cache vậy admin ?
Bạn dùng phần mềm cache nào thì clear qua phần mềm đó nhé
Mình dùng Nginx Reverse Proxy Cache toàn bộ GET Request thì có cần phải thêm Data Caching ko, vì đã cache rồi thì serve html chứ có dính dáng gì đến PHP MySQL nữa đâu nhỉ?
Bước 4 mình thay W3 Total Cache bằng wp-rocket đc ko hay bắt buộc phải dùng ạ ?
nếu thay đc thì cấu hình wp rocket ntn ạ ?
Mình cần sử dụng dịch vụ tối ưu tốc độ tải trang , có bạn nào nhận không ak
Cần tối ưu vps và web
Liên hệ: 0903041286 Dũng
Trước kia oke. tự nhiên gần đây nó không thể kết nối memcache được nữa. giờ e phải khắc phục sao vậy admin.
The following memcached servers are not responding or not running:
Database Cache: 127.0.0.1:11211.
Object Cache: 127.0.0.1:11211.
Page Cache: 127.0.0.1:11211.
This message will automatically disappear once the issue is resolved.
Trạng thái memcached như thế nào?
Dạ xem trạng thái memcache chỗ nào vậy admin, 127.0.0.1:11211. Test failed.
Còn nó vẫn hiện memcache như hình dưới đây ạ
https://imgur.com/05ULc8G
ad chỉ em cách khắc phục với ạ
Không có cách nào khắc phục ạ ad
à ý mình là memcached có đang chạy không
systemctl status memcached -l
Dạ không chạy anh ạ
-bash: systemctl: command not found
CentOS 6 à. Thế thì service memcached status -l
memcached dead but pid file exists
nó báo như này anh ạ..
Bạn chạy giúp mình
ps aux | grep memcached
kill -9 số_pid_có_memcached_
service memcached start
Như mình mua 1 vps 1gb ram về xài khoảng 50 website cho cty dc ko nhỉ ? vì các website đó lượng truy cập cũng rất ít. Không biết 50 site thì tốn ram nhìu hay cpu nhìu nhỉ ?
Cái này tùy mã nguồn và database bên bạn. Mình không rõ rồi
Nhưng thường VPS 1Gb ko đủ đâu
Như mình mua 1 vps 1gb ram về xài khoảng 50 website cho cty dc ko nhỉ ? vì các website đó lượng truy cập cũng rất ít. Không biết 50 site thì tốn ram nhìu hay cpu nhìu nhỉ ?
Cho mình hỏi gấp cái này vời ad ơi, mình đang dùng hocvps script, mình có cài theo hướng dẫn của bạn về pagespeed để mong muốn tăng tốc độ website, nhưng sau khi cài xong cảm giác thấy sao sao mặc dù là chỉ số test trên pagespeed insight có tăng 5-7 điểm sau khi cài đặt
Mình có cài luôn Memcached và mình đang sử dụng Xenforo. Mình có băn khoăn là nếu cài đặt Memcached thì tự hệ thống nó sẽ dùng Memcached hay là phải configure cho nó nữa, không thấy bạn đề cập trong bài
Điểm số trên pagespeed insight khi chưa cài pagespeed khá tệ, chỉ có trong khoảng 41-43, sau khi cài nó được nâng lên, dao động 47-52 (trên mobile)
Mình có nên gỡ bỏ pagespeed không, và cách gỡ bỏ như thế nào để không ảnh hưởng tới các thiết lập mình đang sử dụng vậy bạn, tại không thấy trong bài hướng dẫn nên mình muốn hỏi cho chắc ăn
không hiểu sao CPU mình tăng lên hơn 400%, nhưng băng thông thì ko tăng đáng kể.
nhờ bạn hướng dẫn cách tìm ra nguyên nhân và hướng khăc phục
Bạn kiểm tra các tác vụ thì phần nào làm tăng CPU?
Em cái VPS 5$ 1gb, ko biết có trụ nổi 200 người onl cùng lúc ko ta 😀
Tks Ad
Cho mình hỏi mình đã cài Redis cache rồi thì có cần cài thêm W3 Total Cache không
hay chỉ cần redis cache là đủ
Cần cài thêm W3 Total Cache nếu bạn dùng mã nguồn WP nhé
https://hocvps.com/cai-dat-redis-tren-centos/#1-su-dung-redis-voi-wordpress
Admin vào xem web mình như v ok chưa?
https://xemdagacampuchia.com
Mình cài ok hết. Nhưng sao mình cảm giác nó k nhanh mà như host bth v mn?
Đây là link test tốc độ
https://tocdo.net/result/14541
Mình xài HocVPS Script. VPS Vultr, 2GB RAM, 1 core.
Nhưng web mình cứ online khoảng 40 người hơn là thấy hơi chậm. Check thì thấy RAM sử dụng chỉ khoảng 500MB, cache khoảng 1GB. Còn CPU thì những lúc người dùng click vào trang hay chuyển trang thì CPU có thể nhảy lên tới 50-90%, load xong thì lại về 0.
Như vậy trang mình có vấn đề gì không admin?
Admin cho hỏi CON có phải là MAXCONN hay không? vì mình vào file cấu hình mà không tìm được MAXCONN và MEMSIZE chứ không tìm được Cachesize, không biết có phải do memcached nó update hay không vì bài nãy cũng lâu rồi.
Bạn kiểm tra lại nhé, có thể bạn sửa sai file. Mình cài bản mới nhất 1.5.7 trên CentOS 7 thì file cấu hình vẫn vậy
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
Web mình 1 ngày cũng chỉ 1-1k5 visit mà hay bị tình trạng load cpu 100%, có cách nào phát hiện plugin nào gây nên tịnh trạng load cpu cao không Luân ?
Mình dùng P3 Plugin mà nó load không ra ai cả. Cứ load cpu cao lên là bị treo mặc dù đã có cache ( OP, Wp-robot), bình thường k bị thì cpu chỉ load tầm 3-5% nên mình đoán là có sự cố chứ k phải web ngốn tài nguyên nhiều.
Mong được Luân và các support giải đáp phương pháp
Hiện mình xài VPS Vultr 5$
Bạn check top thì service nào ngốn nhất?
Day ban viet phuong oi http://prntscr.com/js4lan
Cám ơn ad,
Sau khi mình làm theo các hướng dẫn trên và cài plugin W3 Total Cache. và kích hoạt Page Cache, Database cache và Object Cache Thì bị báo lỗi…Nhờ m.n và ad giúp đỡ vs ạ.
The following memcached servers are not responding or not running:
Database Cache: 127.0.0.1:11211.
Object Cache: 127.0.0.1:11211.
Page Cache: 127.0.0.1:11211.
This message will automatically disappear once the issue is resolved.
Thông báo hiển thị ở đâu vậy bạn? Bạn mở port 11211 chưa?
Trong plugin W3 Total Cache ạ. Mở làm sao vậy ad ?
mình cài hocvps nhưng ở bước.
Mở cổng Memcached (11211) trên Iptables Firewall
mình dùng lệnh:
iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 11211 -j ACCEPT
nhưng không có phản ứng.
Bạn dùng CentOS 7 thì mờ qua FirewallD nhé https://hocvps.com/firewalld-centos-7/
Mình cần cài đặt giùm các phần trên
Bạn có thể liên hệ thông qua dịch vụ cài đặt và tối ưu VPS trọn gói nhé
Chào các bác,
E muốn cache cho website asp.net + vps windows thì nên dùng gì ạ?
Mong các bác vấn giúp
tại sao khi dùng membercache lại bắt buộc phải dùng w3cache vậy bác
Vì W3 Total Cache hỗ trợ tích hợp memcached nhé bạn
Mình vừa bị bên dediserve gửi mail cảnh báo VPS dùng network nhiều bất thường đồng thời bị suspended luôn. Ngặc lỗi là mình cấu hình y như hocvps và dùng cả năm nay không bị gì. Chỉ vài site wordpress thôi. Không biết có cách nào xem thằng nào dùng nhiều mạng không vậy Luân nhỉ?
Mình cảm ơn
Bạn có dùng Memcached không? Update cấu hình options phần bài viết
OPTIONS=”-l 127.0.0.1 -U 0″
Ôi thôi, chính nó. Khóc cạn dòng sông. :(((((((
VPS 1GB có cài đc HocVps SCript rồi tối ưu cho load nhanh đc ko Luân ?
HocVPS cài được từ VPS thấp nhất 512MB bạn nhé. Bạn cứ cài đặt và tối ưu thôi
site mình 3 core 4gb ram mà chỉ chạy được 130 user online cùng lúc là sập, mình sử dụng DA đã tối ưu w3 total cache, cài opcache, php 7.1
Direct Admin mà kém vậy á 😮
bạn có đề xuất gì giúp mình với, mình nhức đầu vụ này quá 🙁
Mình không có xài bên Control Panel nên không rõ rồi. Bạn dùng thêm Cache như Memcached/Varnish xem sao
Mình cấu hình theo hướng dẫn nhưng site mình cứ tầm 150-200 người online là CPU tăng lên hơn 90% khiến server respone time rất lâu. Bạn có thể xem qua ảnh dưới (thông tin tiến trình) và gợi ý mình biết 1 số nguyên nhân gây ra được chứ
https://i.imgur.com/1RlEuAK.png
Nếu bạn muốn xem thêm thông số nào thì bảo mình nhé
Mình cần cài 1 vps chịu tải 1k người onl 1 lúc với cấu hình VPS 1GB/1CPU với cách này có ổn không bạn. Mong bạn trả lời mình, xin cảm ơn!
Tùy các trường hợp cụ thể nên bạn tự test thì rõ hơn nhé. Mình nghĩ là ok
Bài từ 2016, gần hết 2017 rồi, bác Luân có Update hay lưu ý gì mới không ạ? Mình chuẩn bị mua VPS 😀
Mình đang dùng VPS 4GB Ram, 4 core bên dediserve. Khi web đạt khoảng 400 user online thì có hiện tượng CPU của riêng mysql nhảy lên tới 300-400%.
Có cách nào khác phục hiện tượng này không hả bạn?
Mình dùng wordpress và cấu hình như bài này
Bạn dùng database cache chưa?
Không liên quan nhưng cho em hỏi các nhà cung cấp VPS họ tạo VPS như nào vậy nhỉ.
Bạn cũng có thể tạo VPS ngay trên máy ảo Virtualbox, VMware,.. cài trên máy tính của bạn 😀
Chào bạn,
Mình đang tìm hiểu về cache
Hiện mình đang sử dụng Opache Cache, Memcache, Redis & WP Rocket
Bạn giúp mình phân biệt chức năng từng phần được không ?
Bạn có thể tham khảo bài viết : Các kỹ thuật Caching trong WordPress
Chào bạn, cái này chỉ tối ưu dành cho wp thôi à bạn?
Zend Opcache và Memcached vẫn tối ưu tốt cho các website khác không phải WP nhé bạn
Online hơn 2 k là ghê nhỉ. Mình 100 người cũng chưa biết khi nào đạt được.
Ad có thể tư vấn giúp mình vấn đề này không? Mình đang chuẩn bị chuyển site từ share host qua vps, site mình là .NET do đó mình muốn thuê vps của vultr và cài win server 2012 (mình tự cài bằng ISO không cần mua win họ cài sẵn). Trong server mình chỉ chạy SQL và IIS thôi. Hiện tại mình đã deploy xong trên con VPS 5$ (1 Core, 1 GB Ram) để test được 1 tháng thì thấy khá ổn, giờ chuẩn bị public. Site của mình, traffic khoảng 20k/ngày, 400~500 user online đồng thời, vậy theo ad mình nên chọn gói nào là tốt nhất. Mà có điều mình cài win 2012 x64, nó đã chiếm hết 600MB Ram rồi, chạy SQL và IIS nữa là ~700MB.
Ôi site bạn online đông thế, mình nghĩ cần gấp đôi RAM. Bên này có thể tự nâng cấu hình lên được bạn cứ chú ý theo dõi thêm.
Thanks bạn, mình upgrade lên con 10$ chạy vi vu (do site cũng nhẹ) nhưng sắp tới chắc up lên con 20$ luôn cho thoải mái.
Mà có điều sau khi upgrade mình thấy RAM được nâng rồi nhưng SSD thì vẫn giữ nguyên, có vẻ như phải format lại ổ cứng thì nó mới nhận dung lượng SSD cộng thêm thì phải.
Nếu mình không sử dụng Wordpess thì không cần làm bước 4 (cấu hình W3 Total Cache) nữa đúng không vậy?
Đúng rồi bạn.
Cảm ơn bạn nhé
Mình bị lỗi này khi vào quản lý file.
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ext_Json has a deprecated constructor in /home/domain.vn/private_html/filemanager/libraries/JSON.php on line 117
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Services_JSON_Error has a deprecated constructor in /home/domain.vn/private_html/filemanager/libraries/JSON.php on line 840
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Services_JSON_Error has a deprecated constructor in /home/domain.vn/private_html/filemanager/libraries/JSON.php on line 854
Bạn vừa update lên PHP7 à? Và HocVPS của bạn version trước 2.0?
php 7.0 nhưng hocvps 1.7 thôi mod ơi
Bản eXtplorer không tương thích hoàn toàn với PHP7, cần phải sửa librabies. Nếu HocVPS1.7 thì bạn fix thủ công rồi Bạn theo comment này nhé:
https://hocvps.com/script/comment-page-59/#comment-13452
nếu bạn làm 1 video hướng dẫn đầy đủ bài viết này kèm theo.. thì newbie sẽ dễ theo kịp hơn… 🙁 mong sớm có video ạ
Hiện mình mới mua con VPS 1core, ram 2GB, và xài Direct Admin, mình có cần cài theo bài hướng dẫn này để chiệu tải cho web tốt ko ? web mình online cao điểm cũng tầm 400 user. mong các bạn tư vấn.
Hỏi ram mình sử dụng chỉ có 16% , làm sao để nó tăng sử dụng ram lên 70% như bài viết, tăng chổ nào vậy!
Mình chưa hiểu ý bạn lắm. Nếu cấu hình VPS cao mà service ít thì RAM bạn sẽ sử dụng ít mà
Tăng hoặc giảm bộ nhớ làm sao giữ cho memory usage <= 70% là ổn, bộ nhớ còn trống sẽ được dùng cho các việc khác.
Dòng này mấy bác, chỉnh chổ nào!
Đây là chỉnh các thông số của ZendOpcache. Nếu hệ thống bạn không bị RAM quá cao thì không cần để ý bạn à.
thì e muốn tăng tốc cái website, nên khai thác tối đa RAM
Trường hợp này service bên bạn sử dụng chỉ có thế thôi mà, trong trường hợp RAM dùng nhiều mà webserver, php, mysql dùng phần trăm ít thì mới cần quan tâm bạn à. Cụ thể, Ram bạn sử dụng quá 70% mới cần phân phối lại giá trị này.
HocVPS cài đặt Memory cho ZendOpCache là 128MB, nếu số lượng site tăng và lượng RAM sử dụng tăng quá 70%, bạn tăng giá trị
opcache.memory_consumption=128
trong/etc/php.d/10-opcache.ini
Mình cài đặt phpMemcachedAdmin theo hướng dẫn từ tài liệu này cho server nginx không được: https://www.kutukupret.com/2011/06/13/monitoring-and-debugging-memcached-server-using-phpmemcachedadmin/
Nhờ hocvps hướng dẫn cụ thể cho các bạn sau biết cách cài đặt phpmemcachedadmin.
Cảm ơn nhé.
Mình đã update hướng dẫn cụ thể trong bài viết nhé: Hướng dẫn cài đặt Memcached đầy đủ trên CentOS.
Bạn bị thông báo lỗi nào?
Mình sử dụng MySQLTuner và cho kết quả thế này:
Variables to adjust:
query_cache_type (=0)
tmp_table_size (> 64M)
max_heap_table_size (> 64M)
performance_schema = OFF disable PFS
innodb_log_file_size * innodb_log_files_in_group should be equals to 1/4 of buffer pool size (=448M) if possible.
VPS là 1 core, 2GB ram, sao xem trong my.cnf thì query_cache_type là ON chứ ko phải là =0, tmp_table_size và max_heap_table_size liệu có nên tăng lên 128MB ko các bạn?
Đối với các tham số suggest theo cụ thể từng hệ thống, bạn nên tham khảo thêm các nguồn về ý nghĩa tham số để có quyết định rõ ràng. Ví dụ, Query cache bạn có thể tham khảo các link dưới. Query cache dùng cache các query đọc, ưu tiên dùng trong các hệ thống 1 core, các truy vấn đọc nhiều hơn các truy vấn viết.
https://mariadb.com/kb/en/mariadb/query-cache/
http://dba.stackexchange.com/questions/33214/query-cache-type-0-vs-query-cache-type-1
http://stackoverflow.com/questions/14420475/query-cache-type-enable-or-disable
Leina 2 dòng performance_schema = OFF disable PFS
innodb_log_file_size * innodb_log_files_in_group should be equals to 1/4 of buffer pool size (=448M) if possible.
Bạn fix đc chưa bạn ?
nếu được chỉ mình fix cái này đc ko ?
thanks
Bạn ơi mình hỏi ở trên mà ko thấy giúp, hic!
Có cách nào giảm sự hoạt động của mysql ko nhỉ, vì site mình mysql hoạt động lúc nào cpu cũng cao ngất ngưởng dẫn đến site rất chậm!
Mình đang sử dụng hocvps với WP Rocket!
http://prnt.sc/ef1e99
Chỉ có tối ưu MySQL thôi bạn à. bạn có cấu hình gì đặc biệt về mảng query database không hay hoàn toàn mặc định? Bạn có cài kết hợp Memcached với WP Rocket không? MySQL thì có thể dùng MySQLTuner để tối ưu.
Hoặc trong trường hợp database bạn quá lớn thì bạn nên cân nhắc nâng cấp cấu hình
Trong wp rocket thì chỉ có dọn dẹp database thôi thì mình dọn rồi, site có tầm ~8k bài viết, còn lại để mặc định, memcached mình ko cài, dung lượng tổng database chỉ tầm gần 300MB thôi, bạn có giải pháp nào hay bài hướng dẫn nào tối ưu database ko ạ?
Về MySQL, bạn có thể cân nhắc MySQLTuner để tối ưu
Mong muốn các bạn có bài viết chi tiết cài đặt và cấu hình MySQLTuner với hocvps quá 😀
Bạn ơi, mình đang tìm hiểu cái MySQLTuner để tối ưu database, giờ muốn chỉnh file my.cnf mà khi mở lên vi /etc/mysql/my.cnf thì file ko có nội dung gì là sao nhỉ?
hay là hocvps để file này ở chỗ khác ?
Em cài hocvps script rồi, có cần làm lại các bước trên không ạ ?
ý bạn là gì nhỉ? mình chưa hiểu?
Theo mình nghĩ ý của bạn này là hocvps đã tích hợp tất cả những thứ này hết chưa 😀
Thì trong bài viết đã đề cập bạn cần cài HocVPs rồi làm bước tiếp theo, tức là HocVPs chưa bao gồm bước tiếp theo rồi 🙂
Hiện có Zend Opcache sẵn rồi