10/10/2018, 11:10
[PHP]Hướng dẫn tăng tốc độ website
Một số cách để tăng tốc độ load website ( 1 cách đáng kể ) đã được áp dụng tại http://etin.vn
Ngày trước, khi làm site http://etin.vn này, thực tình mình cũng không để ý lắm tới tốc độ load của website, vì lúc ấy với số lượng bài viết khá ít nên mình hoàn toàn không quan tâm. Nhưng sau 1 thời gian sử dụng, thấy số lượng link được cache tại google càng ngày càng giảm. từ gần 20K xuống còn vài trăm link. Mình bắt đầu hốt hoảng
Và tất cả nguyên nhân đều là do website quá chậm.
Website quá chậm có thể bao gồm 1 số nguyên nhân sau
1: Hình ảnh nhiều và lớn
2: bài viết nhiều > nếu chưa tối ưu được query > thì rất nặng > nhiều lúc còn khiến cho thiếu bộ nhớ
3: Mã CSS và javascript chưa đc tối ưu
Và sau đây là 1 số cách để khắc phục các nguyên nhân trên ( Theo ý kiến chủ quan của mình ) và đã áp dụng khá thành công tại http://etin.vn
1: Hình ảnh nhiều và lớn
Với vấn đề này.
Bạn có thể áp dụng
Nếu hình ảnh do chính tay bạn post lên host thì nên post lên 1 host khác hoặc 1 domain phụ khác ( ví dụ như img.domain của bạn ) như thế sẽ cân bằng tải cho website
Sau đó ta áp dụng đoạn mã để giúp cho hình ảnh được load sau nội dung
Bạn có thể vào lại site http://etin.vn để được biết sự thay đổi đó( Bạn kéo thanh trượt đi ... hình ảnh sẽ load theo sau )
Đoạn mã
Bạn có thể tham khảo thêm cách sử dụng lazyload tại Thiet Ke Web Gia Lai
2: Tối ưu hóa query
Với 1 website tin tức hoặc giải trí, hoặc bất cứ 1 website nào có số lượng bài viết lớn mà chưa được tối ưu hóa query thì đều có thể gây ảnh hưởng khá lớn đến tốc độ website
Với tớ ( Tớ đã áp dụng những cách sau để giảm bớt được số lượng query cho website
a.) Nên cache lại nội dung những vùng mà ở đó nội dung rất khó bị thay đổi như menu, hoặc quảng cáo
Bằng cách, bạn có thể thay vì code những đoạn mã để lấy nó ra thì bạn hãy viết nó = html,
b.) Đối với nội dung chính.
Không nên sử dụng quá nhiều câu truy vấn cho 1 nhiệm vụ, mà hãy ghép nó thành 1
Không nên select * mà hãy chọn những thành phần mà mình cần lấy để select
Đối với code bạn tự viết, thì data của bạn hãy nên đặt khóa chính - khóa phụ. Cố gắng sử dụng index
Và chú ý 1 điều ( có thể 1 số bạn quyên câu lệnh sau mysql_free_result($result); Đừng quên nhé bạn. Vì mỗi lần bạn sử dụng xong 1 câu truy vấn thì hãy dùng câu lệnh đó để xóa đi bộ nhớ đã sử dụng cho nó.
........
a,b,c) và cuối cùng, bạn nên sử dụng thư viện cache cho website của mình.
Điều này giúp cho website bạn hoặc 1 link nào đó, nếu đã được xem thì lần sau sẽ nó sẽ đọc trực tiếp từ file đã cache ( và có nghĩa là nó sẽ không đọc data lần nữa )
Đoạn mã sau sẽ giúp bạn làm được điều đó:
Chèn đoạn này ở đầu file index.php
và chèn đoạn này ở cuối file index.php
Nội dung file cache.php >> Download <<
Một điều chú ý khi sử dụng thư viện cache. Bạn phải kiểm tra thư mục cache thường xuyên, tránh bị thiếu dung lượng. Hoặc áp dụng file del.php mà mình đã share cách đây không lâu
Chúc các bạn thành công,
Chém nhẹ tay, vì đây chỉ là 1 số thủ thuật nhỏ mà mình đã xài. Chia sẽ cùng mọi người thôi
Ngày trước, khi làm site http://etin.vn này, thực tình mình cũng không để ý lắm tới tốc độ load của website, vì lúc ấy với số lượng bài viết khá ít nên mình hoàn toàn không quan tâm. Nhưng sau 1 thời gian sử dụng, thấy số lượng link được cache tại google càng ngày càng giảm. từ gần 20K xuống còn vài trăm link. Mình bắt đầu hốt hoảng
Và tất cả nguyên nhân đều là do website quá chậm.
Website quá chậm có thể bao gồm 1 số nguyên nhân sau
1: Hình ảnh nhiều và lớn
2: bài viết nhiều > nếu chưa tối ưu được query > thì rất nặng > nhiều lúc còn khiến cho thiếu bộ nhớ
3: Mã CSS và javascript chưa đc tối ưu
Và sau đây là 1 số cách để khắc phục các nguyên nhân trên ( Theo ý kiến chủ quan của mình ) và đã áp dụng khá thành công tại http://etin.vn
1: Hình ảnh nhiều và lớn
Với vấn đề này.
Bạn có thể áp dụng
Nếu hình ảnh do chính tay bạn post lên host thì nên post lên 1 host khác hoặc 1 domain phụ khác ( ví dụ như img.domain của bạn ) như thế sẽ cân bằng tải cho website
Sau đó ta áp dụng đoạn mã để giúp cho hình ảnh được load sau nội dung
Bạn có thể vào lại site http://etin.vn để được biết sự thay đổi đó( Bạn kéo thanh trượt đi ... hình ảnh sẽ load theo sau )
Đoạn mã
PHP Code:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="http://news.etin.vn/templates/etin/js/jquery.lazyload.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$(function(){$("img").lazyload({ threshold : 200 });})
});
</script>
2: Tối ưu hóa query
Với 1 website tin tức hoặc giải trí, hoặc bất cứ 1 website nào có số lượng bài viết lớn mà chưa được tối ưu hóa query thì đều có thể gây ảnh hưởng khá lớn đến tốc độ website
Với tớ ( Tớ đã áp dụng những cách sau để giảm bớt được số lượng query cho website
a.) Nên cache lại nội dung những vùng mà ở đó nội dung rất khó bị thay đổi như menu, hoặc quảng cáo
Bằng cách, bạn có thể thay vì code những đoạn mã để lấy nó ra thì bạn hãy viết nó = html,
b.) Đối với nội dung chính.
Không nên sử dụng quá nhiều câu truy vấn cho 1 nhiệm vụ, mà hãy ghép nó thành 1
Không nên select * mà hãy chọn những thành phần mà mình cần lấy để select
Đối với code bạn tự viết, thì data của bạn hãy nên đặt khóa chính - khóa phụ. Cố gắng sử dụng index
Và chú ý 1 điều ( có thể 1 số bạn quyên câu lệnh sau mysql_free_result($result); Đừng quên nhé bạn. Vì mỗi lần bạn sử dụng xong 1 câu truy vấn thì hãy dùng câu lệnh đó để xóa đi bộ nhớ đã sử dụng cho nó.
........
a,b,c) và cuối cùng, bạn nên sử dụng thư viện cache cho website của mình.
Điều này giúp cho website bạn hoặc 1 link nào đó, nếu đã được xem thì lần sau sẽ nó sẽ đọc trực tiếp từ file đã cache ( và có nghĩa là nó sẽ không đọc data lần nữa )
Đoạn mã sau sẽ giúp bạn làm được điều đó:
Chèn đoạn này ở đầu file index.php
PHP Code:
<?php
include('thuvien/cache.php');
$cache = new cache();
if ( $cache->caching )
{
PHP Code:
}
$cache->close();
Một điều chú ý khi sử dụng thư viện cache. Bạn phải kiểm tra thư mục cache thường xuyên, tránh bị thiếu dung lượng. Hoặc áp dụng file del.php mà mình đã share cách đây không lâu
Chúc các bạn thành công,
Chém nhẹ tay, vì đây chỉ là 1 số thủ thuật nhỏ mà mình đã xài. Chia sẽ cùng mọi người thôi
Bài liên quan
đây nè : http://etin.vn và http://batDongSanTayNguyen.com >> Nhà đất - Bất Động Sản Tây Nguyên nè
@ thinhduc : đường truyền, cấu hình máy, trình duyệt...