本篇文章给大家带来的内容是mysql数据库中影响性能因素的讲解(附数据库架构案例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 关于数据库性能的故事 面试时多多少少会讲到数据库上的事情,“你对数据库的掌握如何?”,什么时候最考验数据库的性能,答应主要方面上讲就是大数据量的读写时,而电商类的大促活动就是考验各自的数据库性能的时候啦。 对于web服务器而言,数据量大时,我们可以简单的通过横向扩展来减少单个服务器的负担,但是对于数据库服务器来说就没有那么简单了,他们不可能做到轻易的横向扩展,这样也违背了数据库的完整性与一致性的原则,那么我们的数据库架构该如何搭建呢? 对于大促类活动而言,不管是产品多好、策划多成功,如果没有稳定的数据库及服务器环境,则这所谓的一切都将是一场空呀。 数据库架构案例 如图所示,主从服务器之间没有任何主从复制组件,即当主服务器出现了故障,很难进行主服务器的切换,这需要DBA在从服务器中选择数据最新的从服务器将其提升为主服务器并同步其他从服务器,这个过程的时间成本也是非常沉重的。 且过多的从服务器,当业务量大时对主服务器的网卡也是一定的挑战。 我们可以通过对集群的监控信息来了解是什么影响了数据库性能。 答应其实是肯定的,一般情况下主要是QPS与TPS、并发量(同一时间处理的请求的数量,避免和同时连接数混淆)、磁盘IO、读操作过于高 这里有个建议:最好不要在主库上数据备份,起码在大型活动前要取消这类计划、 影响数据库的因素 sql查询速度 服务器硬件 网卡流量 磁盘IO 超高的QPS和TPS 风险:效率底下的SQL(QPS:每秒钟处理的查询量) 大量的并发和超高的CPU使用率 风险:大量的并发(数据库连接数被占满(max_connections默认100)) 风险:超高的CPU使用率(因CPU资源耗尽而出现宕机) 磁盘IO 风险:磁盘IO性能突然下降(使用更快的磁盘设备) 风险:其他大量消耗磁盘性能的计划任务(调整计划任务) 网卡流量 风险:网卡IO被占满(1000Mb/8=100MB) 如何避免无法连接数据库的情况: 1、减少从服务器的数量 2、进行分级缓存 3、避免使用“select * ”进行查询 4、分离业务网络和服务器网络 以上就是mysql数据库中影响性能因素的讲解(附数据库架构案例)的详细内容,更多请关注学派吧其它相关文章!
本篇文章给大家带来的内容是关于python中进程池的简单实现代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助 1. 在所有用于where,order by和group by的列上添加索引 索引除了能够确保唯一的标记一条记录,还能是MySQL服务器更快的从数据库中获取结果。索引在排序中的作用也非常大。 Mysql的索引可能会占据额外的空间,并且会一定程度上降低插入,删除和更新的性能。但是,如果你的表格有超过10行数据,那么索引就能极大的降低查找的执行时间。 强烈建议使用“最坏情况的数据样本”来测试MySql查询,从而更清晰的了解查询在生产中的行为方式。 假设你正在一个超过500行的数据库表中执行如下的查询语句: mysql>select customer_id, customer_name from customers where customer_id='345546' 上述查询会迫使Mysql服务器执行一个全表扫描来获得所查找的数据。 型号,Mysql提供了一个特别的Explain语句,用来分析你的查询语句的性能。当你将查询语句添加到该关键词后面时,MySql会显示优化器对该语句的所有信息。 如果我们用explain语句分析一下上面的查询,会得到如下的分析结果: mysql> explain select customer_id, customer_name from customers where customer_id='140385'; +----+-------------+-----------+------------+------+---------------+------+---------+------+------+----------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+-----------+------------+------+---------------+------+---------+------+------+----------+-------------+ | 1 | SIMPLE | customers | NULL | ALL | NULL | NULL | NULL | NULL | 500 | 10.00 | Using where | +----+-------------+-----------+------------+------+---------------+------+---------+------+------+----------+-------------+ 可以看到,优化器展示出了非常重要的信息,这些信息可以帮助我们微调数据库表。首先,MySql会执行一个全表扫描,因为key列为Null。其次,MySql服务器已经明确表示它将要扫描500行的数据来完成这次查询。 为了优化上述查询,我们只需要在customer_id这一列上添加一个索引m即可: mysql> Create index customer_id ON customers (customer_Id); Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 如果我们再次执行explain语句,会得到如下结果: mysql> Explain select customer_id, customer_name from customers where customer_id='140385'; +----+-------------+-----------+------------+------+---------------+-------------+---------+-------+------+----------+-------+ | id | select_type |...
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折
2024-12-22
本篇文章给大家带来的内容是关于mysql的优化总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 前言 现如今,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。所以,我整理了MySQL优化的几点建议,希望这些优化技巧对您有用,总结不到的,欢迎大家补充。 SQL执行慢的原因 网络速度慢,内存不足,I/O吞吐量小,磁盘空间满了等硬件问题 没有索引或者索引失效 数据表里的数据记录过多 服务器调优及各个参数设置也可能会影响 开发者编写的SQL效率 其他 1、EXPLAIN分析你的SELECT查询 很多情况下,使用EXPLAIN关键字可以让你知道MySQL是如何处理你的SQL语句的,这可以帮你分析你的查询语句,从而或许能尽快的找到优化方法以及潜在的性能问题。具体EXPLAIN的使用以及各个参数的含义,请查阅相关文档即可。 2、SELECT查询必须指明字段名 SELECT * 的查询会加很多不必要的消耗(例如CPU、I/O等),同时,也有可能增加了使用覆盖索引。所以SELECT查询时,要求直接在后面指明需要查询的对应字段名。 3、查询一条数据的时候,使用 LIMIT 1 减少多余的查询,因为指定limit 1后,查询到一条数据就不再继续查询了,使得EXPLAIN中type列达到const类型,查询语句更优。 4、为搜索的WHERE字段建立索引 一般,每个表我们都会设置一个主键,而索引并不一定就是给主键。如果在你的表中,有某个字段你总要会经常用来做WHERE查询搜索,而且是读大于写的,那么,请为其建立索引吧,有兴趣了解更多建立索引的的原则,可以查阅相关资料。 5、千万不要使用 ORDER BY RAND() 如果你想随机取数据,也许第一个直接会告诉你,用随机数取,切记,这个时候你必须控制你的大脑在这个方向继续想下去,赶紧停止这种可怕的想法。因为这种查询,对数据库的性能毫无益处(消耗CPU)。更好的方案之一是先找到数据所在的条数N,然后再用LIMIT N, 1这样查询。 6、保证每张表都有一个主键ID 我们应该养成一种习惯,每设计新建一张表的时候,都应该为其设计一个ID字段,并让其成为主键,而且最好是INT型(也有使用UUID的),同时设置这个ID字段为自增(AUTO_INCREMENT)的标志。 8、尽可能的使用 NOT NULL 不要以为NULL不需要空间,事实是NULL也需要额外的空间,也许,很多有没注意但是遇到过,NULL字段在进行查询比较的时候,是比较麻烦的。当然了,如果你实在是必须需要NULL的话,那没辙,就使用吧,否则的话,就建议使用NOT NULL吧。 8、选择合适的存储引擎 在MySQL中有MyISAM和InnoDB两种存储引擎,两者各有利弊,所以我们需要了解两者的差异然后来做出最合适的选择,例如InnoDB支持事务而MyISAM不支持,MyISAM查询比InnoDB快等等;总之,如果你不知道选择什么的话,那就用InnoDB吧。 9、把IP地址存为UNSIGNED INT 在遇到需要存储IP地址的时候,很多人的第一想法都会是存储VARCHAR(15)字符串类型的,而不会想到要用INT整型来存储;如果你用整型来存储,只需要4个字节,并且你可以有定长的字段,而且这会为你带来查询上的优势。 10、尽量不要在WHERE查询时对字段进行null值判断 我们都知道,档我们对一个字段进行null的判断时候,会比较慢的,这是因为这个判断会导致引擎放弃使用所有已有的索引而进行全表扫描搜索。 11、尽量不要使用%前缀的LIKE模糊查询 模糊查询,在日常开发中,我们都会经常遇到,但是我相信很多人都是直接 LIKE '%key_word%' 或者 LIKE '%key_word' 这样搜索的,这两种搜索方式,都会导致索引失效从而进行全表扫描搜索。如果解决上面的这种模糊查询呢,答案就是使用“使用全文索引”,具体的用法有兴趣的可以自己查资料一波。 12、避免在WHERE查询时对字段进行表达式操作 例如查询语句SELECT id FROM table WHERE num * 2 = 50;,这样的查询,对字段num做了一个乘2的算数操作,就会导致索引失效。 14、减少不必要的排序 排序操作会消耗较多的CPU资源,所以减少不必要的排序可以在缓存命中率高等I/O足够的情况下,会降低SQL的响应时间。 14、建议用JOIN代替子查询 有的人会说,JOIN的性能其实也并不是很好呀,但是和子查询比起来还是有很大的性能优势的。具体的,可以了解一下子查询的执行计划相关的问题。 15、避免发生隐式类型转换 类型转换主要是指在WHERE子句中出现字段的类型和传入的参数类型不一致的时候发生的类型转换;这是因为如果我们传入的数据类型和字段类型不一致,MySQL可能会对我们传的数据进行类型转换操作,也可能不进行处理而直接交由存储引擎去处理,这样一来,就可能会出现索引无法使用的情况而造成执行计划问题。 16、避免多表查询字段类型不一致 在遇到需要多表联合查询的时候,我们设计表结构的时候,尽量保持表与表的关联字段一致,并且都要设置索引。同时,多表连接查询时,尽量把结果集小的表作为驱动表。 17、建议开启查询缓存 大多数的MySQL服务器都开启了查询缓存,这是提高性能最有效的方法之一,因为查询缓存由MySQL数据库引擎自动处理,当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表,而直接访问缓存结果了。 18、使用UNION代替临时表 UNION查询可以把两条或更多的SELECT查询结果合并到一个查询中,从而不再需要创建临时表来完成。需要注意的是,使用UNION的所有SELECT语句中的字段数目要相同。 19、慎用IN查询 IN以及NOT IN查询都要慎重,因为可能会导致全表扫描,而对于连续的数值,能用BETWEEN就不要用IN了。 20、欢迎补充 结束语 这主要是从查询角度去考虑优化,还有一些分表、分区技术以及读写分离等;以上优化之处,如果说的不到位的地方,请大家谅解,MySQL优化的地方可以有很多处,欢迎提出其他优化建议,谢谢。 以上就是mysql的20条优化总结的详细内容,更多请关注学派吧其它相关文章!
本篇文章给大家带来的内容是关于如何确认已经卸载数据盘并可以新建自定义镜像,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 自定义镜像 FAQ 如何查看数据盘? 您可以通过 df 命令查看数据盘的使用情况,以及文件系统被挂载的位置。例如:df –lh 您可以通过 fdisk 命令获取数据盘的分区情况。例如:fdisk -l 如何卸载和删除 disk table 里的数据? 假设 /dev/hda5 已经挂载在 /mnt/hda5 上,您可以使用下列任一命令卸载已挂载的文件系统: umount /dev/hda5 umount /mnt/hda5 umount /dev/hda5 /mnt/hda5 /etc/fstab是 Linux 系统下比较重要的配置文件,其包含了系统在启动时挂载的文件系统和存储设备的详细信息。 当您不想在启动实例时挂载指定分区,需要删除当前文件中对应的语句行。例如,删除下面的语句可以在启动的时候断开 xvdb1: /dev/xvdb1 /leejd ext4 defaults 0 0 如何确认已经卸载数据盘,并可以新建自定义镜像? 确认 /etc/fstab 文件中对应的自动挂载数据盘分区语句行已被删除。 使用 mount 命令查看所有设备的挂载信息,并确认执行结果中不包含对应的数据盘分区信息。 实例释放后,自定义镜像是否还存在? 存在。 实例释放后,快照是否还存在? 保留手动快照,自动快照会随着实例释放而被清除。更多详情,请参阅 自动快照 FAQ。 用于创建自定义镜像的实例到期或释放数据后,创建的自定义镜像是否受影响?使用自定义镜像开通的实例是否受影响? 均不受影响。 使用自定义镜像创建的实例是否可以更换操作系统?更换系统后原来的自定义镜像是否还可以使用? 可以。更换后原来的自定义镜像还可以继续使用。 更换系统盘时另选操作系统,是否可以使用自定义镜像? 可以。 注意:系统盘更换为自定义镜像后,原来的数据将被全覆盖。 已创建的自定义镜像,是否可以用于更换另一台云服务器 ECS 的系统盘数据? 可以。但需要注意,自定义镜像将全部覆盖该服务器系统盘的所有数据。请参考使用镜像创建 ECS 实例。 是否可以升级自定义镜像开通的云服务器 ECS 的 CPU、内存、带宽、硬盘等? 均可以升级。 是否可以跨地域使用自定义镜像? 不可以。自定义镜像只能在同一个地域使用。例如:在华东 1 地域的实例中创建的自定义镜像,不可以用在华北 1 地域开通云服务器 ECS。 如果您需要跨地域使用自定义镜像,可以通过复制镜像来实现,请参见复制镜像。 包年包月实例的自定义镜像,是否可以用于创建按量付费的云服务器 ECS? 可以。自定义镜像功能不区分实例的付费方式,即不区分是否包年包月或按量付费。 以上就是如何确认已经卸载数据盘并可以新建自定义镜像的详细内容,更多请关注学派吧其它相关文章!
本篇文章给大家带来的内容是关于如何处理能 ping 通但端口不通时端口可用性探测,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 能 ping 通但端口不通时端口可用性探测说明 端口可用性探测工具介绍 不同的操作系统,端口可用性探测所使用的工具也有所不同。 Linux 环境下端口可用性探测工具介绍 traceroute 是几乎所有 Linux 发行版本预装的网络测试工具,用于跟踪 Internet 协议(IP)数据包传送到目标地址时经过的路径。您可以通过 traceroute 工具进行端口可用性探测。 traceroute 通过发送 TCP 数据包向目标端口进行探测,以检测从数据包源到目标服务器的整个链路上相应端口的连通性情况。traceroute 端口可用性探测常见用法如下: traceroute [-n] -T -p <目标端口号> Host 示例 [root@centos~]# traceroute -n -T -p 22 223.5.5.5 traceroute to 223.5.5.5 (223.5.5.5), 30 hops max, 60 byte packets 1 58.96.171.249 0.431 ms 0.538 ms 0.702 ms 2 10.88.16.29 0.997 ms 1.030 ms 10.88.16.21 1.309 ms 3 58.96.160.246 0.393 ms 0.390 ms 58.96.160.250 0.423 ms 4 63.218.56.237 1.110 ms 202.123.74.122 0.440 ms 0.440 ms 5 63.223.15.90 1.744 ms 63.218.56.237 1.076 ms 1.232 ms 6 63.223.15.158 1.832 ms 63.223.15.90 1.663 ms 63.223.15.74 1.616 ms 7 202.97.122.113 2.776 ms 63.223.15.154 1.585 ms 1.606 ms 8 * * 202.97.122.113 2.537 ms 9 202.97.61.237 6.856 ms...
本篇文章给大家带来的内容是关于如何处理Ping ECS实例的IP地址间歇性丢包,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Ping ECS实例的IP地址间歇性丢包 问题描述 Ping ECS实例的IP地址间歇性丢包,ECS实例的网络一直处于不稳定状态 。 问题原因 系统中病毒。 解决方案 Ping外部存在丢包,但是延迟不大,排查不是带宽到达峰值。 登录ECS实例,执行如下命令,查看所有的进程。 pstree -a 系统显示类似如下。 发现有以10个字符(随机生成)命名的进程,kill掉进程之后又会生成新的以10个字符命名的进程,这种病毒会频繁发包,占用网络流量。 最终确认非业务进程 ,初始化系统,重新配置后系统恢复正常。 适用于 云服务器ECS 以上就是如何处理Ping ECS实例的IP地址间歇性丢包的详细内容,更多请关注学派吧其它相关文章!
本篇文章给大家带来的内容是关于购买阿里云ECS服务器后如何确认该服务器的IP信息和地理位置,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 IP地址查询定位 购买阿里云ECS服务器后,如果想确认该服务器的IP信息和地理位置,或需要查询本地公网IP信息,可以使用淘宝IP地址库进行查询。 1. 访问 ip.taobao.com 后,在页面左下侧,会显示出本地的公网IP信息。 2. 在页面左侧的输入框中输入服务器公网IP,点击“查询”,在页面中部会显示出该IP的物理位置及运营商信息。阿里云旗下的ECS服务器IP信息会显示 阿里巴巴 或 阿里云 字样。 查看IP地址方法 如果您不知道实例的IP地址,可以使用命令行查询。 Windows服务器: 点击开启-运行-输入cmd,在dos命令框中输入ipconfig /all,可以列出服务器内的网卡信息,包括子网掩码、网关、DNS和MAC的信息都可以查看到。其中Net Device PV Driver是内网网卡,Net Device PV Driver #2是外网网卡。 Linux服务器: 使用 ifconfig 命令查看网卡信息,可以列出服务器内的网卡信息,包括子网掩码、网关、DNS和MAC的信息都可以查看到。服务器上的eth0是内网网卡,eth1是外网网卡。 以上就是购买阿里云ECS服务器后如何确认该服务器的IP信息和地理位置的详细内容,更多请关注学派吧其它相关文章!
本文在介绍如何处理访问ECS服务器的网站提示的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。 访问ECS服务器的网站提示“由于你访问的URL可能对网站造成安全威胁,您的访问被阻断” 用户在访问ECS服务器上的网站时,有可能会遇到“很抱歉 由于你访问的URL可能对网站造成安全威胁,您的访问被阻断。” 这是由于云盾的应用防火墙对您的URL访问判定存在攻击行为,从而进行了安全拦截。用户可以将自己的本地公网IP,添加到云盾应用防火墙的白名单中,就可以避免在正常测试访问中遭遇安全拦截。具体的添加步骤可以【点此查看】 本地公网IP可以通过ip.taobao.com页面左下角获得。 以上就是如何处理访问ECS服务器的网站提示的详细内容,更多请关注学派吧其它相关文章!
本篇文章给大家带来的内容是关于ECS云服务器如何禁用公网IP,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 ECS云服务器如何禁用公网IP Linux关闭外网网卡的方法 首先使用ifconfig查看下公网的IP对应的网卡名称,这里查看到对应的是 eth1,然后使用 ifdown eth1 即可,然后测试 ping 下公网IP,无法 ping 通。 Windows禁用公网网卡的方法 Windows主机可以在运行—输入cmd,输入 ipconfig 来查看公网 IP 的网卡信息。在下图中可以看到公网网卡为本地连接2。 然后依次打开控制面板 > 网络和共享中心 > 更改适配器设置,进行禁用本地连接2。然后进行本地到服务器进行 ping 测试,无法进行 ping 通。 以上就是ECS云服务器如何禁用公网IP的详细内容,更多请关注学派吧其它相关文章!
本篇文章给大家带来的内容是关于Linux中常用命令的总结(详细),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 ls -alrtAFR -a 显示所有文件及目录 (ls 内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出-r 将文件以相反次序显示(原定依英文字母次序)-t 将文件依建立时间之先后次序列出-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"-R 若目录下有文件,则以下之文件亦皆依序列出 touch -acfm-r<参考文件或目录>–help[文件或目录…] 用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。 mkdir [-p] dirName -p 确保目录名称存在,不存在的就建一个。mkdir -p BBB/Test 在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。 若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB 目录不存在,则产生错误。) rm [options] name… -i 删除前逐一询问确认。-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。-r 将目录及以下之档案亦逐一删除。 mv [options] source dest -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;-f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;mv 文件名 文件名 将源文件名改为目标文件名mv 文件名 目录名 将文件移动到目标目录mv 目录名 目录名 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名mv 目录名 文件名 出错 cp [options] source dest -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于 dpR 参数组合。-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。-f:覆盖已经存在的目标文件而不给出提示。-i:与-f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。-l:不复制文件,只是生成链接文件。 cat -AbeEnstTuv [–version] fileName -n 或 –number:由 1 开始对所有输出的行数编号。-b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号。-s 或 –squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。 scp [可选参数] file_source file_target -r: 递归复制整个目录。-P port:注意是大写的 P, port 是指定数据传输用到的端口号 1、从本地复制到远程 scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file 或者 scp local_file remote_ip:remote_folder 或者...
本篇文章给大家带来的内容是关于如何查看云服务器 ECS 公网流量统计总和,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 查看云服务器 ECS 公网流量统计总和 您可以在云服务器控制台导出使用记录的 CSV 文件查看云服务器每天/每小时的公网流量统计总和。 登录云服务器控制台。 单击费用 > 进入费用中心。 单击左侧导航栏消费记录 > 使用记录。 选择产品(此处选择云服务器 ECS – 按量付费)、使用期间 以及 计量粒度,输入验证码,单击导出 CSV。 以上就是如何查看云服务器 ECS 公网流量统计总和的详细内容,更多请关注学派吧其它相关文章!
本篇文章给大家带来的内容是关于Linux下alias命令的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 最近在使用ssh连接远程机器敲了类似ssh -i ~/.ssh/138.pem ec2-user@192.168.21.138 这么长一串命令的时候被我们的运维吐槽了一波,遂给我安利了这个命令 1.alias的使用 alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化.用alias 短命令='原命令 选项' alias 138ssh= 'ssh -i ~/.ssh/138.pem ec2-user@192.168.21.138' 这下子就可以直接使用138ssh 来代替原来ssh -i ~/.ssh/138.pem ec2-user@192.168.21.138 查看当前所有的alias alias-p 删除一个alias unalias 命令 然后我就开开心心的用上了短命令,再也不用去记服务器的ip地址了. 2.alias的持久化 第二天等我上班的时候开开心心的敲出我的短命令的时候发现 赶紧跑去问运维大哥,然后告诉我alias每次重启都需要重新设置???那这还怎么玩耍还好运维大哥又教了我一招 将alias命令加入 /etc/.bashrc 或者 ~/.bashrc文件就不用每次重启都重新设置了/etc/.bashrc针对所有用户生效,~/.bashrc是针对当前用户生效ps:我的系统是深度linux 修改的是/etc/bash.bashrc 最后执行下 source /etc/bash.bashrc 命令 alias设置的短命令就又可以使用了 注:source Filname 在当前bash环境下读取并执行FileName中的命令 以上就是Linux下alias命令的用法介绍的详细内容,更多请关注学派吧其它相关文章!
本篇文章就给大家介绍本地tomcat正常,但liunx poi excel下载却内容乱码问题的解决方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 结论:在jsp中加上out.clear即可(前提保证生成的excel在服务器上是正确的,只是浏览器传输才出现乱码)。 dowload.jsp完整代码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <%@ page import="com.userpackage.*" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; request. setCharacterEncoding("UTF-8"); //response.setHeader("Content-Type", "charset=UTF-8"); %> <% /* Enumeration pNames = request.getParameterNames(); String keyStr=""; String valueStr=""; Map map = new HashMap(); while (pNames.hasMoreElements()) { keyStr = pNames.nextElement().toString(); valueStr = request.getParameter(keyStr).toString().trim(); if(!"".equals(valueStr)){ out.println(keyStr+"=="+valueStr); } } */out.clear();out = pageContext.pushBody(); ExcelExport.export(request,response); out.println("22222"); %> 现象: response.reset();// 在servlet中加入,清除首部的空白行 以上就是本地tomcat正常,但liunx poi excel下载却内容乱码问题的解决方法的详细内容,更多请关注php中文网其它相关文章!
Linux在4.9版本的内核新增了一款TCP拥塞控制技术:BBR,Linode最新内核也更新到4.9,但是没有把BBR编译进去,下面是教程是替换Linode CentOS7内核,并开启Google TCP-BBR优化算法方法。 注意:Linode、阿里云测试OK,Ucloud测试加载4.9变为只读系统。 1. 安装elrepo提供的kernel4.9 增加elrepo源 cat > /etc/yum.repos.d/elrepo.repo << EOF [elrepo-kernel] name=ELRepo.org Community Enterprise Linux Kernel Repository - el7 baseurl=http://elrepo.org/linux/kernel/el7/\$basearch/ http://mirrors.coreix.net/elrepo/kernel/el7/\$basearch/ http://jur-linux.org/download/elrepo/kernel/el7/\$basearch/ http://repos.lax-noc.com/elrepo/kernel/el7/\$basearch/ http://mirror.ventraip.net.au/elrepo/kernel/el7/\$basearch/ enabled=1 gpgcheck=0 EOF 可能存在yum更新内核时候找不到升级包,请检查/etc/yum.conf是否过滤了kernel 找到改文件将exclude=kernel* centos-release*注销,再尝试安装 安装elrepo替换4.9内核及grub2 yum -y install kernel-ml grub2 查看4.9内核是否安装成功 [root@linode1495332 ~]# ls -l /boot/vmlinuz* -rwxr-xr-x 1 root root 6037696 Dec 22 10:16 /boot/vmlinuz-0-rescue-72863e389b584a4dab36fae7f3bffda2 -rwxr-xr-x 1 root root 6037696 Dec 12 05:37 /boot/vmlinuz-4.9.0-1.el7.elrepo.x86_64 2. 替换CentOS7内核 Linode内核切换方法: [root@linode1495332 etc]# mkdir /boot/grub [root@linode1495332 etc]# grub2-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file … Found linux image: /boot/vmlinuz-4.9.0-1.el7.elrepo.x86_64 Found initrd image: /boot/initramfs-4.9.0-1.el7.elrepo.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-72863e389b584a4dab36fae7f3bffda2 Found initrd image: /boot/initramfs-0-rescue-72863e389b584a4dab36fae7f3bffda2.img done 点击Linode后台面板Dashboard,点击Edit按钮: 在Kernel下拉菜单,选择GRUB 2启动: 非Linode切换内核方法: [root@oneinstack ~]# awk -F\’ ‘$1==”menuentry ” {print $2}’ /etc/grub2.cfg CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core) CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core) CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core) CentOS Linux (0-rescue-7d26c16f128042a684ea474c9e2c240f) 7 (Core) grub2-set-default 0,切换到新内核 [root@oneinstack ~]# grub2-set-default 0 重启服务器: reboot 查看内核版本 [root@linode1495332 ~]# uname -a Linux linode1495332.members.linode.com 4.9.0-1.el7.elrepo.x86_64 #1 SMP Sun Dec 11 15:43:54 EST 2016 x86_64 x86_64 x86_64 GNU/Linux 3. 开启TCP-BBR cat >>/etc/sysctl.conf << EOF net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr EOF 内核参数生效: sysctl -p 查看bbr是否生效: [root@linode1495332 ~]# sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno [root@linode1495332 ~]# lsmod | grep bbr tcp_bbr 16384 70 Thu Dec 22 11:17:53 CST 2016
这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux、Nginx/Tengine/OpenResty、MySQL/MariaDB/Percona、PHP),适用于CentOS 6~7(包括redhat)、Debian 6~8、Ubuntu 12~16的32位和64位。 脚本特性 持续不断更新 源码编译安装,大多数源码是最新stable版,并从官方网址下载 提供多个数据库版本(MySQL-5.7, MySQL-5.6, MySQL-5.5, MariaDB-10.1, MariaDB-10.0, MariaDB-5.5, Percona-5.6, Percona-5.5, AliSQL-5.6, PostgreSQL, MongoDB) 提供多个PHP版本(PHP-7.1, PHP-7.0,PHP-5.6, PHP-5.5,PHP-5.4,PHP-5.3) 提供Nginx、Tengine、OpenResty 提供多个Apache版本(Apache-2.4,Apache-2.2) 根据自己需求安装PHP缓存加速器,提供ZendOPcache、xcache、apcu、eAccelerator。及php加解密工具ionCube、ZendGuardLoader、swoole、xdebug、Composer 根据自己需求安装Pureftpd、phpMyAdmin 根据自己需求安装memcached、redis jemalloc优化MySQL、Nginx 提供添加、删除虚拟主机脚本 提供Nginx/Tengine/OpenResty/Apache、MySQL/MariaDB/Percona、PHP、Redis、phpMyAdmin升级脚本 提供本地、远程(服务器之间rsync)、阿里云OSS、腾讯云COS和upyun备份 提供CentOS 6、7下HHVM安装 安装步骤 yum -y install wget screen curl python#for CentOS/Redhat #apt-get -y install wget screen curl python# for Debian/Ubuntu wget http://aliyun-oss.linuxeye.com/lnmp-full.tar.gz #阿里云经典网络内网下载 wget http://mirrors.linuxeye.com/lnmp-full.tar.gz # 包含源码,国内外均可下载 wget http://mirrors.linuxeye.com/lnmp.tar.gz # 不包含源码,建议仅国外主机下载 tar xzf lnmp-full.tar.gz #tar xzf lnmp.tar.gz cd lnmp # 如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件 screen -S lnmp # 如果网路出现中断,可以执行命令`screen -R lnmp`重新连接安装窗口 ./install.sh # 请勿sh install.sh或者bash install.sh这样执行 如何添加虚拟主机? ./vhost.sh 如何删除虚拟主机? ./vhost.sh del 如何管理ftp账号? ./pureftpd_vhost.sh 数据备份 cd ~/lnmp # 必须进入lnmp目录下执行 ./backup_setup.sh # 备份参数设置 ./backup.sh # 立即执行备份 crontab -e # 可添加到计划任务,如每天凌晨1点自动备份 0 1 * * * cd ~/lnmp;./backup.sh > /dev/null 2>&1 & 备份参数设置如下图: 如何管理服务? Nginx/Tengine/OpenResty: service nginx {start|stop|status|restart|reload|configtest} MySQL/MariaDB/Percona: service mysqld {start|stop|restart|reload|status} PHP: service php-fpm {start|stop|restart|reload|status} Apache: service httpd {start|restart|stop} HHVM: service supervisord {start|stop|status|restart|reload} 注:hhvm进程交给supervisord管理,了解更多请访问《Supervisor管理hhvm进程》 Pure-Ftpd: service pureftpd {start|stop|restart|status} Redis: service redis-server {start|stop|status|restart|reload} Memcached: service memcached {start|stop|status|restart|reload} 如何更新版本? ./upgrade.sh 跨大版本升级(如php):http://oneinstack.com/question/oneinstack-downgrade-if-php-version/ 如何卸载? ./uninstall.sh 如何重装? ./uninstall.sh # 请先备份数据好数据后再卸载,丢失数据概不负责 ./install.sh # 再次安装 更新日志 2018-03-18 新增阿里云COS、腾讯云COS备份;启用acme.sh支持通配符,禁用certbot;常规软件版本更新 2017-12-17 新增PostgreSQL、MongoDB、PHP7.2;Apache升级功能; 新增xdebug扩展;新增oneinstack更新;优化vhost.sh 2017-08-13 iptables可选; 新增pathinfo 2017-07-01 支持Debian9;PHP编译使用openssl1.0.2版本 2017-06-02 增加MariaDB 10.2 2017-05-15 增加腾讯云COS v4备份功能 2017-02-14 Nginx添加更多模块参数;新增Nginx magento2伪静态;Apache2.4 ssl默认开启http2 2016-11-02 增加AliSQL;默认启用jemalloc,去除tcmalloc 2016-10-15 数据库支持二进制或源码编译;PHP7支持ioncube、apcu;优化脚本格式 2016-08-21 增加./addons.sh...
高并发网站架构的核心原则其实就一句话”把所有的用户访问请求都尽量往前推“,即:能缓存在用户电脑本地的,就不要让他去访问CDN。 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了。能访问静态服务器的,就不要去访问动态服务器。以此类推:能不访问数据库和存储就一定不要去访问数据库和存储。 WordPress最好的优化方式就是尽量不安装插件,之前有分享过《wordpress启动Redis缓存加速》,Wordpress是典型的PHP-MySQL应用,去做数据库缓存,倒不如让轻量级的Nginx直接去缓存WordPress内容。 Nginx内置FastCgi缓存,但是不支持自动清除缓存。当你在Wordpress里面新建/修改一篇文章,或者访客提交评论的时候,自动清空相关的缓存是必要的!Nginx需要安装ngx_cache_purg+量身定做的WordPress缓存清理插件:Nginx Helper。 1. 安装Nginx ngx_cache_purge模块 1)查看ngx_cache_purge是否安装 nginx -V 2>&1 | grep -o ngx_cache_purge 显示ngx_cache_purge表示已经安装 2)安装ngx_cache_purge模块 《OneinStack》和《lnmp一键安装包》下安装ngx_cache_purge模块 nbsp; cd /root/oneinstack/src wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz wget http://nginx.org/download/nginx-1.9.10.tar.gz tar xzf ngx_cache_purge-2.3.tar.gz tar xzf nginx-1.9.10.tar.gz cd nginx-1.9.10 nginx -V #查看nginx编译参数,最后加上--add-module=../ngx_cache_purge-2.3 ./configure --prefix=/usr/local/nginx --user=www --group=www \ --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module \ --with-ipv6 --with-http_gzip_static_module --with-http_realip_module \ --with-http_flv_module --with-ld-opt=-ljemalloc \ --add-module=../ngx_cache_purge-2.3 make #编译 mv /usr/local/nginx/sbin/nginx{,_`date +%F`} #备份nginx cp objs/nginx /usr/local/nginx/sbin nginx -V 2>&1 | grep -o ngx_cache_purge # 显示ngx_cache_purge表示已经安装成功 2. Nginx配置 建议将fastcgi_cache_path设置tmpfs内存中,操作系统不同tmpfs路径也不同,如下: CentOS:/dev/shm Ubuntu和Debian:/run/shm 修改nginx虚拟主机配置文件/usr/local/nginx/conf/vhost/blog.linuxeye.com.conf: fastcgi_cache_path /dev/shm/nginx-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m; fastcgi_cache_key “$scheme$request_method$host$request_uri”; fastcgi_cache_use_stale error timeout invalid_header http_500; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; server { listen 443 ssl http2; ssl_certificate /usr/local/nginx/conf/vhost/linuxeye_blog.crt; ssl_certificate_key /usr/local/nginx/conf/vhost/linuxeye_blog.key; ssl_ciphers “CHACHA20:GCM:HIGH:!DH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS”; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; #ssl_stapling...
一年一度的双11开始了、景安网络 也是大型IDC公司、自建郑州、洛阳、数据中心、上市公司、实力雄厚。 今年的双11活动、也是可以的。下面展示下活动。 开通流量:http://www.zzidc.com/main/member/initRegister?agentpand=36148 注册账号 密码: 购买业务、购买成功以后、找客服 索要回扣。产品不同 回扣不同。。 加QQ 7271895 690624 11.11决战云颠,列出部分活动介绍,耐心看完 1.产品折扣主机会场产品: 云虚拟主机新购:1年送3个月 2年送9个月 3年送15个月 续费:1年送3个月 2年送9个月 3年送15个月云产品会场产品: 开通流量:http://www.zzidc.com/main/member/initRegister?agentpand=36148 注册账号 密码: 购买业务、购买成功以后、找客服 索要回扣。产品不同 回扣不同。。 加QQ 7271895 690624 云服务器、VPS 新购:1年7折、2年6折、3年5折 续费:1年送3个月、2年送2年、3年6.5折 月付转年付:1年7折、2年6折、3年5折 快云普及型:2核CPU 2G内存 4M带宽 60G数据盘 原价2700/3年 联系代理 1080 快云经济型:4核CPU 3G内存 5M带宽 100G数据盘 原价5400/3年 联系代理 2160 想要完美的价格:联系客服 7271895 690624 咨询 开通流量:http://www.zzidc.com/main/member/initRegister?agentpand=36148 注册账号 密码: 购买业务、购买成功以后、找客服 索要回扣。产品不同 回扣不同。。 加QQ 7271895 690624 数据库产品:MySQL单机版,MySQL高可用版 新购:1年7折、2年6折、3年5折 续费:1年送6个月、2年送1年、3年送2年 云存储产品:快云备份,共享云盘、 存储流量包 新购:1年7折、2年6折、3年5折(快云备份,共享云盘) 续费:1年送3个月、2年送6个月、3年送1年(快云备份,共享云盘) 【参与客户:终端、代理】规则:云计算会场:新购单笔满3000减100、满5000减200、满10000减5003.爆款产品 【参与客户:终端、代理】规则:云服务器:1核1G(1M和2M)、1核2G(1M和2M)、2核4G(1M和2M) 数据库:2核cpu、4G内存、30G存储 这四款产品推出特价(云服务器、VPS为3折,其余为固定价格)配置, 时间为3个月、6个月、1年! 云服务器数据库终端代理都可购买,但必须名下无云计算业务 开通流量:http://www.zzidc.com/main/member/initRegister?agentpand=36148 注册账号 密码: 购买业务、购买成功以后、找客服 索要回扣。产品不同 回扣不同。。 加QQ 7271895 690624