php商城网站如何提高性能和并发访问

大型商城网站性能提高策略

大型商城网站,比如在面对大量用户的访问、高并发请求方面,一般的商城解决方案主要在这样几个方面:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是这几个解决思路意味着更大的投入。
那还有什么办法去更小投入的优化这方面的性能吗?在开发DSmall商城系统的时候,我们利用了一下几点:

1、HTML静态化
  大家都知道,执行效率最高、消耗最小的其实就是纯静态化的html页面,所以尽可能使网站上的页面采用静态页面去实现。

2、图片服务器分离
  图片是最消耗资源的,于是我们有必要将图片与应用去进行分离,这是基本上也是大型网站都会采用的策略,它们都是有独立的、甚至是很多台的图片服务器。这样的网站架构可以降低提供访问请求的服务器压力,德尚网络DSMall多店铺系统就使用阿里云OSS支持图片应用分离。

3、数据库集群
  那么在面对大量访问的时候,以及大数据量的时候,一台数据库将无法满足应用,于是我们需要使用数据库集群。

4、缓存
  缓存一词搞技术的都接触过,很多地方用到缓存。网站架构和网站开发中的缓存也是非常重要。

5、负载均衡
  负载均衡将是大型网站解决高负荷访问和大量并发请求采用的高端解决办法。?

6、数据库优化
6.1、选择正确的存储引擎
以?MySQL为例,包括有两个存储引擎?MyISAM?和?InnoDB,每个引擎都特点。

MyISAM?适合于需要大量查询的应用。InnoDB?的趋势会是一个非常复杂的存储引擎,对于一些小的应用,它会比?MyISAM?还慢。但是它支持“行锁”?,支持事务。

2、优化字段的数据类型

数据类型的一个原则,越小的列效率越。对于大部分的数据库引擎来说,硬盘是最重大的瓶颈。因此把数据变得紧凑会对这种情况非常有帮助,因为这减少了对硬盘的访问。

如果一个表只会只有几列(比如说DSMall数据库中的配置表),我们就没有理由使用?INT?来做主键,可以使用?MEDIUMINT,?SMALLINT?或是更小的?TINYINT?会更经济一些。如果你不需要记录时间,使用?DATE?要比?DATETIME?好。当然,你也需要留够足够的扩展空间。

3、字段添加索引

索引不一定就是给主键或者是唯一的字段使用的。如果在你的表中,如果有某个字段你需要经常做搜索,那么最好是为其建立索引。

4、尽量避免使用Select?从数据库里读出大量的数据,那么查询就会变慢。而且你的数据库服务器和WEB应用服务器是独立的服务器,还会增加网络数据传输的负载。即使你要查询数据表中有很多字段,也尽量不要用

5、使用?ENUM?而不是?VARCHAR
ENUM?类型是非常快和紧凑的。在实际上,其保存的是?TINYINT,但其外表上显示为字符串。例如,性别和状态之类的字段取值是固定的,你应该使用?ENUM?而不是?VARCHAR。

6、尽可能的使用?NOT?NULL
除非你有一个很特别的原因去使用?NULL?值,你应该让你的字段保持?NOT?NULL。其实?NULL也是需要额外的空间,而且在进行比较的时候,程序会更复杂。?这里并不是就不能使用NULL了,依然会有些情况下,你需要使用NULL值。

五、前端优化
优化完后端服务器和数据库之后,我们还需要优化前端的界面和一些资源文件,其中主要包括图片、JS和CSS的优化。

我们建议使用网页性能测试工具进行检测和分析,软件具体会给出相关的优化建议。比如JS合并,CSS合并,图片合并等等之类。

原文地址:https://blog.51cto.com/13938514/2415329

时间: 2024-11-08 22:51:17

php商城网站如何提高性能和并发访问的相关文章

大型php网站性能和并发访问优化方案

网站性能优化对于大型网站来说非常重要,一个网站的访问打开速度影响着用户体验度,网站访问速度慢会造成高跳出率,小网站很好解决,那对于大型网站由于栏目多,图片和图像都比较庞大,那该怎么进行整体性能优化呢?本文为你提供一份大型php网站性能和并发访问优化方案. 一.大型网站性能提高策略: 大型网站,比如门户网站,在面对大量用户访问.高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器.高性能的数据库.高效率的编程语言.还有高性能的Web容器.这几个解决思路在一定程度上意味着更大的投入.

怎样利用代码与习惯提高网站的并发访问性能以及自己的一些疑惑

最近公司因为网站并发问题.要将.net 改版成PHP.虽然我表示不服,但是人轻言微╮(╯▽╰)╭.一言难尽. 网站的并发性能低.跟语言有毛毛球关系?! 特地去百度了一下,关于如何提高网站并发性能的问题.加上一些自己的见解,这里抛砖引玉.大家随意看看.轻拍. 请先看度娘上搞到的大牛回答: 1.HTML静态化 其实大家都知道,效率最高.消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是 最有效的方法.但是对于大量内容并且频繁更新的网站

提高服务器性能和并发能力

从哲学上说,消除瓶颈是提高服务器性能和并发能力的唯一途径.如果你能够消除所有的瓶颈,你就能够最大的发挥硬件性能,让系统的性能和并发数到达最佳.采用多线程多核编程,使用事件驱动或异步消息机制,尽量减少阻塞和等待操作(如I/O阻塞.同步等待或计时/超时等).原理:1.多线程多核编程,消除cpu瓶颈.2.采用IOCP或epoll,利用状态监测和通知方式,消除网络I/O阻塞瓶颈.3.采用事件驱动或异步消息机制,可以消除不必要的等待操作.4.如果是Linux,可以采用AIO来消除磁盘I/O阻塞瓶颈.5.在

修改Linux内核参数提高Nginx服务器并发性能

当linux下Nginx达到并发数很高,TCP TIME_WAIT套接字数量经常达到两.三万,这样服务器很容易被拖死.事实上,我们可以简单的通过修改Linux内核参数,可以减少Nginx服务器 的TIME_WAIT套接字数量,进而提高Nginx服务器并发性能.   vi /etc/sysctl.conf   增加以下几行: net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_syncookie

大型网站的灵魂——性能

在前一篇随笔     大型网站系统架构的演化中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我们一步一步去研究实践.所以我打算写一个系列,从理论到实践讲述大型网站的点滴,这也是一个共同学习的过程,希望自己能坚持下去.系列大概会分为两部分,理论和实践,理论部分尽量通俗易懂,也要讲一些细节.实践部分会抽取一些技术做实践,将方法.解决问题过程分享出来.本文将讲述大型网站中一个重要的要素,性能. 什么是性能 有人说性能

大型网站的灵魂——性能[转]

前言 在前一篇随笔<大型网站系统架构的演化>中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我们一步一步去研究实践.所以我打算写一个系列,从理论到实践讲述大型网站的点滴,这也是一个共同学习的过程,希望自己能坚持下去.系列大概会分为两部分,理论和实践,理论部分尽量通俗易懂,也要讲一些细节.实践部分会抽取一些技术做实践,将方法.解决问题过程分享出来. 本文将讲述大型网站中一个重要的要素,性能. 什么是性能 有人说

大型网站的灵魂&mdash;&mdash;性能

前言     在前一篇随笔<大型网站系统架构的演化>中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我们一步一步去研究实践.所以我打算写一个系列,从理论到实践讲述大型网站的点滴,这也是一个共同学习的过程,希望自己能坚持下去.系列大概会分为两部分,理论和实践,理论部分尽量通俗易懂,也要讲一些细节.实践部分会抽取一些技术做实践,将方法.解决问题过程分享出来. 本文将讲述大型网站中一个重要的要素,性能. 什么是性能

网站大规模并发访问的优化建议

一.服务器配置优化 我们需要根据应用服务器的性能和并发访问量的大小来规划应用服务器的数量.有一个使用原则是:单台应用服务器的性能不一定要求最好,但是数量一定要足够, 最好能有一定的冗余来保障服务器故障.特别是,在高并发访问峰期间,适当增加某些关键应用的服务器数量.比如在某些高峰查询业务上,可以使用多台服务器, 以满足用户每小时上百万次的点击量. 二.使用负载均衡技术 负载均衡技术是解决集中并发访问的核心技术,也是一种较为有效的解决网站大规模并发访问的方法.实现负载均衡技术的主要设备是负载均衡器服

柯南君:教你如何对待大型网站平台的性能优化? 之 二--- 应用程序调优 (长篇总结)

柯南君:教你如何对待大型网站平台的性能优化? 之 "二"--- 应用程序调优(长篇总结) 柯南君 上一章 <柯南君:教你如何对待大型电商平台的性能优化?之 一 (方法.指标.工具.定位)>讲到了一些测试方法.测试指标.以及测试工具.稍微讲了一些如何定位的方法?这一章主要讲一下"如何优化应用程序,将其性能提升". 一.基本知识  1.下面讲一些JAVA 程序性能方面的一些看法,首先给大家讲一下应用程序调优,需要调优哪些项? ① 运算的性能 : 看哪一个算法